Ayuda con pila
Publicado por sea (11 intervenciones) el 10/05/2018 21:45:37
Buenas amigos, tengo un pequeño problema en este codigo, al eliminar una pila no me compila. Espero que alguien con conocimiento pueda ilustrarme con esta pequeña duda. Gracias de antemano.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
typedef struct nodo{
int dato; // el valor del dato ingresado que es de tipo entero
struct nodo *siguiente; //*siguiente = es el que está apuntando al puntero siguiente, el prox valor.
}pila;
typedef pila *pNodo;
typedef pila *p_pila;
pila *primero = NULL; // se crea una pila vacia
//----------------------------------------------------------------------------------------------------------------------------------------------------
void push(pila *primero);
void pop(pila *primero, int n);
//----------------------------------------------------------------------------------------------------------------------------------------------------
int main(){
push(primero);
push(primero);
push(primero);
pop(primero);
return 0;
}
void push(pila *primero){
pNodo nuevo = (pNodo)malloc(sizeof(pila)); //se abre un espacio (dinamico) para ingresar un nuevo nodo
printf("Ingrese un elemento a la pila: "); scanf("%d",&nuevo->dato);
nuevo->siguiente = primero; // el nuevo nodo siempre apuntará al primero (stack)
primero = nuevo; // El primero será el nuevo nodo
printf("El elemento [%d] ha sido agreado con exito!\n\n",nuevo->dato);
}
void pop(pila *primero, int n){
pNodo nodo;
if(nodo == NULL){
printf("La pila se encuentra vacia...");
}
else{
n = primero->dato; // es el dato que se eliminará
primero = nodo;
primero = primero->siguiente;
printf("El elemento [%d] ha sido eliminado",n);
free(nodo);
}
}
Valora esta pregunta
0