Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 struct Nodo{
2 char Color[15];
3 struct Nodo *ant, *sig;
4 }
5 struct Nodo *Lc, *Nuevo;
6 main(){
7 Inicializar();
8 do{
9 puts (“1. Insertar 2. Desplegar Inicio-Fin 3.
10 DesplegarFinal-Inicio 4. Salir”);
11 scanf (“%d”, &op);
12 switch (op){
13 case 1: puts (“Color: “);
14 gets (Color);
15 InsertarFinal(Color);
16 case 2: DesplegarIF();
17 case 3: DesplegarFI();
18 }
19 }while (op < 4)
20 }
21 void Inicializar(){
22 Lc = NULL;
23 }
24 void InsertarFinal(char Color[15]){
25 Nuevo = (struct Nodo *) malloc(sizeof(struct Nodo));
26 strcpy(Nuevo->Color, Color);
27 if (Lc == NULL) {
28 Nuevo->ant = Nulo;
29 Nuevo->sig = Nulo;
30 }
31 else{
32 Nuevo->ant = Lc;
33 Nuevo->sig = Lc->sig;
34 }
35 Lc = Nuevo;
Andrade Palacios Luis Ulises Pilas
36 }
37 void DesplegarIF(){
38 Aux = Lc->sig;
39 while(Aux <> Lc){
40 printf (“%s/n”, Aux ->Color);
41 Aux = Aux->sig;
42 }
43 }
44 void DesplegarFI(){
45 Aux = Lc;
46 while(Aux <> Lc->sig){
47 printf(“%s/n”, Aux ->Color);
48 Aux = Aux->ant;
49 }
50 printf(“%s/n”, Aux ->Color);
51 }
CODIGO:
1 struct Pila{
2 char Datos[5][30];
3 int Fr;
4 int Fi;
5 };
6 struct Pila C;
7 void inicializa(), Insertar(int), Eliminar(),Desplegar();
8 int PilaLlena(), PilaVacia();
9 main(){
10 int Op, Num;
11 Inicializa();
12 do{
13 puts(“a. Insertar b. Eliminar c. Desplegar d.
14 Salir”)
15 scanf(“%d”, &op);
16 switch (op){
17 case ´a´: Num = srandom();
18 Insertar(Num);
19 case ´b´: Eliminar();
20 case ´c´: Desplegar();
21 }
Andrade Palacios Luis Ulises Pilas
CODIGO:
1 #include <stdio.h>
2 struct Pila{
3 int Datos[10];
4 int Tope;
5 }
6 struct Pila P;
7 void Inicializa(), Push(int);
Andrade Palacios Luis Ulises Pilas
CODIGO:
1 struct Nodo{
2 int Cve;
3 char Des[30];
4 float Precio;
5 struct Nodo *ant, *sig;
6 };
7 struct Nodo *Inicio, *Final, *Nuevo;
8 void Inicializar(), DesplegarIF(), DesplegarFI();
9 main(){
10 do{
11 printf(“1. Insertar 2.Desplegar Inicio-Fin 3.
12 Desplegar Fin-Inicio 4. Salir”);
13 scanf(“%d”, &op);
14 switch(op){
15 case 1: Insertar();
16 case 2: DesplegarIF();
17 case 3: DesplegarFI();
18 }
19 }while(op;=4);
20 }
21 void Inicializar(){
22 Inicio = Final = NULL;
23 }
24 void Insertar(){
25 Nuevo=(struct Nodo *) malloc(sizeof(struct Nodo));
26 printf (“Clave: “) scanf (“%d”, Nuevo->Cve);
27 printf (“Descripcion:”) scanf (“%s”, Nuevo->Des) ;
28 printf (“Precio: ”) scanf (“%f”, Nuevo->Precio) ;
29 Nuevo->sig = Nulo;
30 Nuevo->ant = Final;
31 Final = Nuevo;
32 if (Inicio = Nulo) Inicio = Nuevo;
33 }
34 void DesplegarIF(){
35 struct Nodo *aux;
36 aux=Inicio;
37 while (aux ¡= NULL){
38 printf (“Clave: “, aux->Cve);
39 printf (“Descripcion: “,aux ->Des) ;
40 printf (“Precio: “,aux ->Precio) ;
Andrade Palacios Luis Ulises Pilas
41 aux = aux->sig;
42 }
43 }
44 void DesplegarFI(){
45 struct Nodo *aux;
46 aux=Final;
47 while (aux ¡= NULL){
48 printf (“Clave: ”, aux->Cve);
49 printf (“Descripcion: “,aux ->Des) ;
50 printf (“Precio: ”,aux ->Precio) ;
51 aux = aux->ant;
52 }
53 }
REFERENCIAS:
Oblancarte. (2014). Pila (Stack). Oscar Blancarte Software Architect. Recuperado
de: https://www.oscarblancarteblog.com/2014/08/06/estructura-de-datos-pila-
stack/