{
int y; int numeros[4] = {2, 4, 6, 8}; char palabra[ ] = {h, o, l, a,\0}; for (y=0; y<4;
y++)
printf (nmeros [%d] = %d\n, y, nmeros[y] ); printf(\n);for (y=0; y<4; y++)
printf (%c, palabra[y] ); return (0); } Cul es el resultado de la ejecucin del
programa anterior? En el ejemplo, la forma de inicializacin del arreglo nmeros
solo es soportada por el estndar ANSI.
2.2 Pilas Definicion
Definicion
Las pilas son otro tipo de estructura de datos lineales, las cuales presentan
restricciones en cuanto a la posicin en la cual pueden realizarse las inserciones y
las extracciones de elementos.
Una pila es una lista de elementos en la que se pueden insertar y eliminar
elementos slo por uno de los extremos. Como consecuencia, los elementos de
una pila sern eliminados en orden inverso al que se insertaron. Es decir, el ltimo
elemento que se meti a la pila ser el primero en salir de ella.
En la vida cotidiana existen muchos ejemplos de pilas, una pila de platos en una
alacena, una pila de latas en un supermercado, una pila de papeles sobre un
escritorio, etc.
Debido al orden en que se insertan y eliminan los elementos en una pila, tambin
se le conoce como estructura LIFO (Last In, First Out: ltimo en entrar, primero en
salir).
2.2.2 Operaciones con Pilas
Una Pila se compone de los siguientes elementos:
arreglo de datos
El numero maximo
El numero minimo
El tipo de datos de la pila
los indices Tope y Base de la Pila
Operaciones Elementales
Iniciar
Insertar
Eliminar
Axiomas
Insertar:
Si Tope = Maximo
Mensaje( O Verflow)
de lo Contrario
Tope = Tope +1
Pila Tope = Valor
//Codigo Fuente PILAS
1. include <stdio.h>
2. include <conio.h>
3. include <iostream.h>
int pila[5],cima=1,maxpila=4,c=0,op,x,i,n; char r=n;
void meter(int *pila,int *cima,int maxpila,int item) {
if(*cima==maxpila)
{cout<<\nDesbordamiento<<\n;}
else
{*cima=*cima+1;
pila[*cima]=item;}
}
void sacar(int *pila,int *cima,int *item) { if(*cima==0)
{cout<<\nSubdesbordamiento;}
else
{*item=pila[*cima];
*cima=*cima-1;}
}
int main() {clrscr();
do
{clrscr();
cout<<\n1.-Insertar;
cout<<\n2.-Eliminar;
cout<<\n3.-SALIR;
cout\nInserta una opcion ;cinop;
switch(op)
{case 1:
coutCuantos datos deseas insertar? ;cinn;
if(n>5)
{cout<<\nMemoria insuficiente;
getch();}
else
{for(i=0;i<n;i++)
{cout\nIntroduce un numero ;cinx;
c=c+1;
cout<<\nDatos insertados <<c;
clrscr();
meter(pila,&cima,maxpila,x);}
getch();}
break;
case 2:
sacar(pila,&cima,& x);
cout<<\nEl dato borrado fue <<x;
getch();
break;
case 3:
coutDESEA SALIR (S/N) ;cinr;
break;
default:
cout<<Ingresa numero valido\n;
getch();
break;}
}while(r==n || r==N);
return 0; }
2.2.3 Clases para Implementacion de Pilas
Ejemplo completo sobre la implementacin de pilas manejando Visual Studio .net
2003
//----LIO
1. include stdafx.h
2. using <mscorlib.dll>
using namespace System;
using namespace System::Collections;
public __gc class Ejemplo Stack?{
public:
static void Imprime(I Enumerable? __gc *Mi Coleccion?)
{
System::Collections::I Enumerator? __gc *Mi Enumerador?
= Mi ColeccionGet Enumerator?();
while (Mi EnumeradorMove Next?())
Console::Write(S\t{0}, Mi EnumeradorCurrent);
Console::Write Line?();
}
};
int main() {
Stack __gc *Mi Pila? = new Stack();
Mi PilaPush(SHola);
Mi PilaPush(SMundo);
Mi PilaPush(S!);
// Despliega las propiedades y valores de los pila.
Console::Write Line(SMi Pila);
Console::Write Line(S\tCount: {0},
__box(Mi PilaCount));
Console::Write(S\tValores:);
Ejemplo Stack::Imprime(Mi Pila);
system(pause);
return 0;
}
2.3 Colas Definicion
Una cola es una estructura de datos, caracterizada por ser una secuencia de
elementos en la que la operacin de insercin push se realiza por un extremo y la
operacin de extraccin pop por el otro. Tambin se le llama estructura FIFO (del
ingls First In First Out), debido a que el primer elemento en entrar ser tambin el
primero en salir.
El tipo cola representa la idea que tenemos de cola en la vida real. La cola para
subir al autobs est compuesta de elementos (personas), que dispone de dos
extremos comienzo y fin. Por el comienzo se extraer un elemento cuando haya
comprado el billete para su viaje, y si llega una nueva persona con intencin de
usar el autobs, tendr que colocarse al final y esperar que todos los elementos
situados antes que l abandonen la cola.
2.3.1 Operaciones con Colas
La definicin de la estructura de datos tipo cola queda completa al incluir las
operaciones que se pueden realizar en ella. Las operaciones bsicas que pueden
efectuarse son:
Insertar un elemento en la cola
Eliminar un elemento de la cola
Las inserciones se llevaran a cabo por el FINAL de la cola, mientras que las
eliminaciones se harn por el FRENTE recuerde que el primero en entrar es el
primero en salir.
Considerando que una cola puede almacenar un mximo nmero de elementos y
que adems FRENTE indica la posicin del primer elemento y FINAL la posicin
del ltimo, se presentan a continuacin los algoritmos correspondientes a las
operaciones mencionadas