int main(){ struct nodo *cabecera; int op,valor; cabecera = (struct nodo *) malloc(sizeof(struct nodo)); inicializar(cabecera); do{ menu(); scanf("%d", &op); switch(op){ case 1: printf("dame un numero: "); scanf("%d",&valor); push(cabecera,valor); break; case 2: pop(cabecera); break; case 3: tope(cabecera); break; case 4: break; default: break; } } while(op != 4); borrar_lista(cabecera); return 0; }
int main(){ Stack pe, *pe1; PilaFloat pilaFloat, *pFloat1; init(&pilaFloat); stack_init(&pe); stack_push(&pe, (void*)10); stack_push(&pe, (void*)9); stack_push(&pe, (void*)8); stack_push(&pe, (void*)7); stack_push(&pe, (void*)6); stack_push(&pe, (void*)5); stack_push(&pe, (void*)4); stack_push(&pe, (void*)3); stack_push(&pe, (void*)2); stack_push(&pe, (void*)1); stack_push(&pe, (void*)0); stack_push(&pe, (void*)-1); stack_push(&pe, (void*)-2); stack_push(&pe, (void*)-3); stack_push(&pe, (void*)-4); push(&pilaFloat, 10.0); push(&pilaFloat, 9.0); push(&pilaFloat, 8.0); push(&pilaFloat, 7.0); push(&pilaFloat, 6.0); push(&pilaFloat, 5.0); push(&pilaFloat, 4.0); push(&pilaFloat, 3.0); push(&pilaFloat, 2.0); push(&pilaFloat, 1.0); push(&pilaFloat, 0.0); push(&pilaFloat, -1.0); push(&pilaFloat, -2.0); push(&pilaFloat, -3.0); push(&pilaFloat, -4.0); pe1 = &pe; pFloat1 = &pilaFloat; mulPilaPila(&pe, pe1); mulPilaPilaF(&pilaFloat, pFloat1); while(!stack_empty(&pe)){ printf("%d %f\n", (int)stack_top(&pe), tope(&pilaFloat)); //printf("OK\n"); pop(&pilaFloat); stack_pop(&pe, 0); } return 0; }
void Pila_max::poner(int valor) { elemento nuevo; nuevo.ele = valor; if (vacia()) { nuevo.maximo = valor; } else { elemento anterior = tope(); nuevo.maximo = (valor > anterior.maximo) ? valor : anterior.maximo; } datos.add(nuevo); }