Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pilas PDF
Pilas PDF
Es un tipo especial de lista abierta en la que slosepuedeninsertaryeliminarnodosenuno de los extremos de la lista. Estas operaciones se conocen como "push" y "pop", "empujar" y "tirar".Adems, lasescrituras dedatos siempre soninsercionesdenodos,ylaslecturassiempre eliminanelnodoledo.
ComportamientoLIFO (LastInputFirstOutput)
Elcomportamientoesdeultimaentradaprimera salida.
DeclaracindelNodoParalaPila
typedefstruct_nodo { intdato struct_nodo*siguiente }tipoNodo typedeftipoNodo*pNodo typedeftipoNodo*Pila
Operacionesbsicasconpilas
n Push:Aadirunelementoalfinaldelapila. n Pop:Leeryeliminarunelementodelfinalde
lapila
PUSHinsertarenpilavaca
Elprocesoesmuysimple: 1. nodo>siguienteapunteaNULL. 2. Pilaapunteanodo.
PUSHinsertarenPilanovaca
Seiniciaconunnodoainsertar,conunapuntadorque apunteal,ydeunapila,enestecasonovaca: Elprocesoeselsiguienteysencillo: 1.Hacemosquenodo>siguienteapunteaPila.
2.HacemosquePilaapunteanodo.
POPleeryeliminarunelemento
Partiremosdeunapilaconunoomsnodos,y usaremosunapuntadorauxiliar,nodo:
1de2
POPleeryeliminarunelemento
1. Hacemosquenodoapuntealprimerelementode
2de2
Algor itmodelafuncinPUSH
1. Secreaunnodoparaelvalorquesecolocar
CdigoparaPUSHenunapila
voidPush(Pila*pila,intv) { pNodonuevo/*Crearunnodonuevo*/ nuevo=(pNodo)malloc(sizeof(tipoNodo)) nuevo>valor=v/*Aadirpilaacontinuacindelnuevonodo*/ nuevo>siguiente=*pila/*eliniciodelapilaesennuevonodo*/ *pila=nuevo }
Algor itmodelafuncinPOP
1. Hacemosquenodoapuntealprimerelementodela
CdigoparaPOPenunapila
intPop(Pila*pila) { pNodonodo/*variableauxiliarparamanipularnodo*/ intv/*variableauxiliarpararetorno*/ /*Nodoapuntaalprimerelementodelapila*/ nodo=*pila if(!nodo)return0/*Sinohaynodosenlapila retornamos0*/ /*Asignamosapilatodalapilamenoselprimerelemento*/ *pila=nodo>siguiente/*Guardamoselvalorderetorno*/ v=nodo>valor/*Borrarelnodo*/ free(nodo) returnv }