-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpila.h
64 lines (54 loc) · 1.23 KB
/
pila.h
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#ifndef PILA_H
#define PILA_H
#include <stdio.h>
//Interfaz TAD pila
//contenido de cada elemento de la pila: pila de árboles binarios
typedef struct {
union {
char* name;
FILE* desc;
} value;
} tipoelemPila;
//definición del tipo opaco
typedef struct tipo_celda *pila;
//Stack of files containing instructions to be processed
extern pila stackInput;
//Stack of file descriptors to dinamic libraries
extern pila stackDinamic;
//Funciones de creación y destrucción
/**
* Crea la pila vacia.
* @param P Puntero a la pila. Debe estar inicializada.
*/
void crearPila(pila *P);
/**
* Destruye la pila
* @param P puntero a la pila
*/
void destruirPila(pila *P);
//Funciones de información
/**
* Comprueba si la pila esta vacia
* @param P pila
*/
unsigned esVaciaPila(pila P);
/*
* Recupera la informacion del tope de la pila
* @param P pila
*
*/
tipoelemPila tope(pila P);
//Funciones de inserción/eliminación
/**
* Inserta un nuevo nodo en la pila para el elemento E
* en el tope de la pila
* @param P puntero a la pila
* @param E Informacion del nuevo nodo.
*/
void push(pila *P, tipoelemPila E);
/**
* Suprime el elemento en el tope de la pila
* @param P puntero a la pila
*/
void pop(pila *P);
#endif // PILA_H