[C con Clase] Pila y cola implementada con arreglo

Mariano Demarchi marchi.hh en gmail.com
Vie Oct 14 04:19:12 CEST 2011


En ocaciones cuando necesito una pila y no tengo tiempo de andar escribiendo
algo decente ni tengo una librería a mano suelo hacer lo siguiente:

#define POP() stack[--tstack % STACK_SIZE]
#define PUSH(x) stack[tstack++ % STACK_SIZE] = (x)
#define TOP() stack[(tstack-1) % STACK_SIZE]

#define STACK_SIZE 1024

int stack[STACK_SIZE];

int tstack = 0;

lo cual sirve como pila de int.

Podés usarlo como:

int main()
{
  PUSH(5);
  printf("TOP: %d\n",TOP());
  printf("POP: %d\n",POP());
}

Tomando eso como partida se puede hacer una implementación mas cuidada y
segura de una pila o de una cola (en el caso de la pila se usarían 2
índices, uno para meter objetos y el otro para sacarlos).


Saludos

El 12 de octubre de 2011 20:36, Yolmer Rosales
<yolmer.rosales en gmail.com>escribió:

>
>
> El 12 de octubre de 2011 18:20, Diego <diegoartesanal en gmail.com> escribió:
>
> ¿Qué tal gente ? . Necesito si alguno me puede pasar un código de una pila
>> y una cola implementada con arreglos . Si alguno tiene algún código fuente
>> por ahí suelto, me lo pasa por favor. Muchas gracias.
>>
>>
> Oye Diego no se para que quieres implementar cola y pila con arreglo, no le
> veo lógica... por otro parte
>
> Prueba leer esto:
> http://personales.ya.com/salvapozo/files/edd.zip
>
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20111013/eb335f21/attachment.html>


Más información sobre la lista de distribución Cconclase