View difference between Paste ID: ewCNa4vC and gVwbdmEB
SHOW: | | - or go back to the newest paste.
1
#ifndef LISTA_H_
2
#define LISTA_H_
3
4
typedef struct celda * TPosicion;
5
typedef void * TElemento;
6
7
typedef struct celda {
8
TElemento elemento;
9
struct celda * proxima_celda;
10
} * TCelda;
11
12
typedef struct lista {
13
unsigned int cantidad_elementos;
14
TCelda primer_celda;
15
} * TLista;
16
17
18
19
//Retorna una nueva lista vacia.
20
TLista lista_crear();
21
22
//Agrega el elemento elem en la posición anterior a pos, dentro de la lista.
23
int l_insertar(TLista lista, TPosicion pos, TElemento elem);
24
25
//Elimina un elemento de la lista segun la posicion pasada como parametro
26
//Si la posicion pasada nula, finaliza la ejecucion con error LST_POS_INV
27
int l_eliminar(TLista lista, TPosicion pos);
28
29
// Retorna la primer posición de la lista.
30
TPosicion l_primera(TLista lista);
31
32
// Retorna la última posición de la lista.
33
TPosicion l_ultima(TLista lista);
34
35
// Retorna la posición anterior a pos en la lista.
36
TPosicion l_anterior(TLista lista, TPosicion pos);
37
38
//Retorna la posición siguiente a pos en la lista.
39
TPosicion l_siguiente(TLista lista, TPosicion pos);
40
41
//Retorna el elemento correspondiente a la posición pos.
42
TElemento l_recuperar(TLista lista, TPosicion pos);
43
44
//Retorna la cantidad de elementos de la lista.
45
//Si la lista no esta inicializada finaliza la ejecucion con error LST_NO_INI
46
int lista_cantidad(TLista lista);
47
48
void l_destruir();
49
50
51
#endif /* LISTA_H_ */