Libreria de listas implementadas en C.
Instrucciones para ejecutar
- Linux
gcc main.c -o nombrePrograma && nombrePrograma
- Windows
gcc .\main.c -o nombrePrograma ; .\nombrePrograma
typedef struct node
{
char name[20];
int value;
struct node *next;
} Node;
- Nombre: Elemento de tipo char[20] para guardar cadenas de texto
- Valor: Elemento de tipo int, para guardar numeros
- Next: Direccion del proximo nodo
graph LR
A[nombre:valor ] -->B[char 20 => nombre ]
A --> C[int => valor ]
Agrega un elemento justo al inicio de la lista
Antes
graph LR
A[Elemento 1 ] --> B[Elemento 2]
Despues
graph LR
C[Elemento nuevo]--> A[Elemento 1 ] --> B[Elemento 2]
Agrega un elemento justo al final de la lista
Antes
graph LR
A[Elemento 1 ] --> B[Elemento 2]
Despues
graph LR
A[Elemento 1 ] --> B[Elemento 2] --> C[Elemento nuevo]
*Invierte la direccion en la que apuntan los elementos d ela lista *
Antes
graph LR
A[Elemento 1 ] --> B[Elemento 2] --> C[Elemento 3]
Despues
graph LR
A[Elemento 1]
B[Elemento 2]
C[Elemento 3] -->B -->A
Permite crear una nueva lista apartir de otra
Antes
- Lista 1:
graph LR
A[Elemento 1 ] --> B[Elemento 2] --> C[Elemento 3]
Despues
- Lista 1:
graph LR
A[Elemento 1 ] --> B[Elemento 2] --> C[Elemento 3]
- Lista 2:
graph LR
A[Elemento 1 ] --> B[Elemento 2] --> C[Elemento 3]
Permite leer los lementos de la lista en consola
Teniendo
graph LR
A[Elemento 1 ] --> B[Elemento 2] --> C[Elemento 3]
Salida en consola
Elemento 1:Valor1 --> Elemento 2:Valor2 --> Elemento 3:Valor3
Permite unir 2 listas Antes
- Lista 1:
graph LR
A[Elemento 1 ] --> B[Elemento 2]
- Lista 2:
graph LR
A[Elemento 3 ] --> B[Elemento 4] --> C[Elemento 5]
Despues
- Lista resultante:
graph LR
A[Elemento 1] --> B[Elemento 2] --> C[Elemento 3] --> D[Elemento 4] --> E[Elemento 5]
in_counter(Node *listp): Cuenta el numero de
nodos de una lista
free_all(Node *listp): libera la memoria de una lista
del_item(Node *listp, char *name): elimina la primera
ocurrencia de name y retorna la nueva lista
is_empty(Node *listp): retorna 1 si esta vacia,
0 en caso contrario
- Jesús Alfonzo - Programación - Alfonzzoj