Insertion deletion ds lab
Insert at front #include <stdio.h> #include <stdlib.h> typedef struct Node { int data; struct Node* next; struct Node* prev; } Node; Node* createNode(int data) { Node* newNode = (Node*)malloc(sizeof(Node)); newNode->data = data; newNode->next = NULL; newNode->prev = NULL; return newNode; } void printList(Node* head) { Node* temp = head; while (temp != NULL) { printf("%d ", temp->data); temp = temp->next; } printf("n"); } void insertOne(Node** head, int data, int index) { Node* newNode = createNode(data); if (index == 0) { newNode->next = *head; if (*head != NULL) { (*head)->prev = newNode; } *head = newNode; return; } Node* temp = *head; int currentIndex = 0; while (temp != NULL && currentIndex < index - 1) { temp = temp->next; currentIndex++; } if (temp == NULL) { free(newNode); printf("Index out of bounds. Inserting at the end instead.n"); return; } newNode->next = temp->next; newNode->prev = t...