/
pila.c
50 lines (43 loc) · 1.1 KB
/
pila.c
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 <conio.h>
typedef struct {
struct elemento* siguiente;
char* nombre;
}elemento;
elemento* ultimo = NULL;
void agregar(elemento* _elemento);
elemento* extraer();
void agregar(elemento* _elemento) {
_elemento->siguiente = NULL;
if (ultimo == NULL) {
ultimo = _elemento; }
else { _elemento -> siguiente = ultimo;
ultimo = _elemento;
}
}
elemento* extraer() {
if (ultimo == NULL) {
return NULL;
}
elemento* elemento_retorno = ultimo;
ultimo = elemento_retorno -> siguiente;
return elemento_retorno; }
int main() {
elemento* uno = malloc(sizeof(elemento));
elemento* dos = malloc(sizeof(elemento));
elemento* tres = malloc(sizeof(elemento));
elemento* cuatro = malloc(sizeof(elemento));
uno->nombre = "Aprenda Java en 24 horas";
dos->nombre = "Aprenda C++ rapidamente";
tres->nombre = "Aprenda Visual Basic con este libro";
cuatro->nombre = "Aprenda mas sobre windows 10";
agregar(uno);
agregar(dos);
agregar(tres);
agregar(cuatro);
elemento* i = extraer();
while(i != NULL) { printf("%s.\n", i->nombre);
i = extraer();
}
return 0;
}