Ejemplo pila con arreglo (Por nicolas_cof)

(1/2) > >>

@synthesize:
Código
#include <stdio.h>
#include <stdlib.h>
 
#define MAX 5
 
void push( int*, int*, int );
int pop( int*, int* );
int altura( int* );
 
int main( void )
{
   int *pila, *tmp, elementos = 0, i;
 
   pila = calloc( MAX, sizeof( int ) );
   tmp = pila;
 
   printf( "altura:%d\n", altura( &elementos ) );
 
   for ( i = 0; i < MAX; ++i )
   {
       printf( "push:%d\n", i + 1 );
       push( &(*pila), &elementos, i + 1 );
       pila++;
   }
 
   printf( "altura:%d\n", altura( &elementos ) );
 
   pila--;
   for ( i = 0; i < MAX; ++i )
   {
       printf( "pop:%d\n", pop( &(*pila), &elementos ) );
       pila--;
   }
 
   printf( "altura:%d\n", altura( &elementos ) );
 
   free( tmp );
 
   return 0;
}
 
void push( int *pila, int *elementos, int num )
{
   *pila = num;
   ++(*elementos);
}
 
int pop( int *pila, int *elementos )
{
   int num;
   num = *pila;
 
   *pila = 0;
 
   --(*elementos);
   return num;
}
 
int altura( int *elementos )
{
   return (*elementos);
}
 

Editado
Littlehorse: Evita el spam a sitios externos a elhacker.net que no sean estrictamente relevantes. Tienes el espacio suficiente para transcribir el contenido de tu blog al post. Gracias.

Og.:
Si quieres hacer un ejemplode esto, seria mejor que hicieses una clase. Asi el codigo se ve mas limpio y encierto modo mas portable.

nicolas_cof:
Cita de: Og. en 29 Junio 2010, 06:14 am

Si quieres hacer un ejemplode esto, seria mejor que hicieses una clase. Asi el codigo se ve mas limpio y encierto modo mas portable.


Og., tienes razon, pero basicamente no se perseguia como objetivo eso. Solamente fue un codigo de ejemplo para Daemon Freedom, el cual ya habia creado un post sobre pilas con arreglos...

http://foro.elhacker.net/programacion_cc/pilas_ejemplo-t297895.0.html

Pd: lo ideal hubiera sido que estuviera todo junto.

Salu10.

cbug:
No entiendo la finalidad de copiar en un nuevo thread, un code que hiciste tú en otro post.

nicolas_cof:
Cita de: cbug en 29 Junio 2010, 13:21 pm

No entiendo la finalidad de copiar en un nuevo thread, un code que hiciste tú en otro post.


cbug, me lo dices a mi o a Daemon Freedom?

Si es para mi, como dije anteriormente, hubiera estado bueno que este junto al otro post que trata sobre lo mismo, pero bueno, en fin no fue decision mia!

Salu10.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente