Pilas C++
Pilas C++
Pilas C++
1 Definición
^
Una pila es un tipo especial de lista abierta en la que sólo se pueden insertar y eliminar
nodos en uno de los extremos de la lista. Estas operaciones se conocen como "push" y
"pop", respectivamente "empujar" y "tirar". Además, las escrituras de datos siempre son
inserciones de nodos, y las lecturas siempre eliminan el nodo leído.
El símil del que deriva el nombre de la estructura es una pila de platos. Sólo es posible
añadir platos en la parte superior de la pila, y sólo pueden tomarse del mismo extremo.
El nodo típico para construir pilas es el mismo que vimos en el capítulo anterior para la
construcción de listas:
struct nodo \{
int dato;
struct nodo *siguiente;
};
Los tipos que definiremos normalmente para manejar pilas serán casi los mismos que para
manejar listas, tan sólo cambiaremos algunos nombres:
Es evidente, a la vista del gráfico, que una pila es una lista abierta. Así que sigue siendo
muy importante que nuestro programa nunca pierda el valor del puntero al primer elemento,
igual que pasa con las listas abiertas.
Teniendo en cuenta que las inserciones y borrados en una pila se hacen siempre en un
extremo, lo que consideramos como el primer elemento de la lista es en realidad el último
elemento de la pila.
Pilas y colas en C
Anuncios Google
Subsea Insulationwww.aisplc.com - For rigid structures and jumpers 200 deg C and 300
Bar
Bueno aqui les dejo algo de info para todos aquellos que quieren saber como hacer un pila y una
cola en C.
Primero que nada una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el
modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar,
primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en
informática debido a su simplicidad y ordenación implícita en la propia estructura.
Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un
objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento
apilado.
ejemplo de pila en C
#include<stdio.h>
#include<conio.h>
main ()
{
int arreglo[6];
int numero=0,i=0,x=0;
do
{
clrscr ();
scanf("%i",&numero);
switch(numero)
{
case 1:{
if(i>5)
else
{
scanf("%i",&arreglo);
i++;
}
}
break;
case 2:
{
if(i<=0)
else
{
// i--;
arreglo=0;
i--;
}
}
break;
case 3:
{
for(x=0;x<i;x++)
{
printf("t%it",arreglo[x]);
}
}
getch();
break;
case 4:
{
}
break;
}
}
while(numero<4);
return 0;
}
y una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que
la operación de inserción push se realiza por un extremo y la operación de extracción pop por el
otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer
elemento en entrar será también el primero en salir.
ejemplo de cola en C
#include<stdio.h>
#include<conio.h>
main ()
{
int arreglo[6];
int numero=0,i=0,x=0;
do
{
scanf("%i",&numero);
switch(numero)
{
case 1:
{
if(i>5)
else
{
scanf("%i",&arreglo);
i++;
}
getch();
}
break;
case 2:
{
//if(i>=0 &&i<=5)
// {
if(i<1)
else
{
arreglo[0]=NULL;
for(x=0;x<i;x++)
{
arreglo[x]=arreglo[x+1];
}
arreglo[x]=0;
i--;
// }
getch();
}
break;
case 3:
{
for(x=0;x<i;x++)
{
printf("t%it",arreglo[x]);
}
getch();
}
break;
case 4:
{
printf("tSALIENDO...n"
}
break;
}
}
while(numero<4);
getch ();
return 0;
}