예제 #1
0
파일: main.c 프로젝트: IsraelCasas/edd2015
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;
	}
예제 #2
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);
}