🌱 Digital Garden

Search

Search IconIcon to open search

Last updated Jul 20, 2023 Edit Source

Quizas ver primero:


# Implementacion de Double LinkedList en C

Como antes, hay que crear la estructura de sus nodos primero, como vemos, es bastante similar a una Single Linked-List, solo que tambien guarda un puntero para el nodo anterior.

1
2
3
4
5
6
7
typedef struct dnode
{
	int value;
	struct dnode* prev;
	struct dnode* next;
}
dnode;

Debido a que solo es una pequeña variacion todas las operaciones anteriores se pueden implementar de la misma forma en como se ve en Implementacion de Single LinkedList en C.

La unica operacion que falto de implementar en las fue remover un elemento, esto debido a que es muy complejo porque ese tipo de lista no nos permite volver para reconectar nodos. Por tanto, aqui veremos su implementacion en una Double Linked-List.

Remover:

1
2
3
4
5
6
void delete(node* delete)
{
	delete->previous->next = delete->next
	delete->next->previous = delete->previous;
	free(delete);
}

Siguiente: