-
Notifications
You must be signed in to change notification settings - Fork 0
/
pila.c
38 lines (32 loc) · 796 Bytes
/
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
#include "pila.h"
#include <stdio.h>
#include <stdlib.h>
pila* crear_pila(){
pila* top = NULL;
return top;
}
int isEmpty(pila* top) { //Revisa si esta vacia la pila
return !top;
}
pila* crear_transaccion(int id, int transaccion){
pila* transacciones = (pila*)malloc(sizeof(pila));
transacciones->id = id;
transacciones->cantidad = transaccion;
transacciones->next = NULL;
return transacciones;
}
void agregar_elemento_pila(pila** top ,int id, int transaccion){
pila* transacciones = crear_transaccion(id,transaccion);
transacciones->next = *top;
*top = transacciones;
}
void eliminar_elemento_pila(pila** top){
pila* temp = *top;
*top = (*top)->next;
free(temp);
}
void eliminar_pila(pila* top){
while(!isEmpty(top)){
eliminar_elemento_pila(&top);
}
}