DAY 04_ akshata
DAY 04_ akshata
#include <stdio.h>
#include <stdlib.h>
insertAtEnd(&head, 10);
insertAtEnd(&head, 20);
insertAtEnd(&head, 30);
deleteNode(&head, 20);
printf("After deleting 20: ");
printDList(head);
return 0;
}
2. Implement circular linked list operations
#include <stdio.h>
#include <stdlib.h>
do {
if (current->data == data) {
if (prev != NULL) {
prev->next = current->next;
} else {
// Deleting head
struct CNode* tail = *head;
while (tail->next != *head) {
tail = tail->next;
}
tail->next = current->next;
*head = current->next;
}
free(current);
return;
}
prev = current;
current = current->next;
} while (current != *head);
}
while (1) {
printf("1. Insert at End\n2. Delete Node\n3. Print List\n4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Enter data to insert: ");
scanf("%d", &data);
insertAtEnd(&head, data);
break;
case 2:
printf("Enter data to delete: ");
scanf("%d", &data);
deleteNode(&head, data);
break;
case 3:
printf("Circular Linked List: ");
printCList(head);
break;
case 4:
exit(0);
default:
printf("Invalid choice!\n");
}
}
return 0;
}