Ds Exp Single Linklist
Ds Exp Single Linklist
PUNE - 411043
Department of Electronics & Telecommunication
ASSESMENT YEAR: 2024-2025 CLASS: SE
SUBJECT: DATA STRUCTURES
EXPT No: LAB Ref: SE/2024-25/ Starting date:
Roll No:22447 Submission date:
5. Display
6. Display reverse
1. Without Pointer:
#include <stdio.h>
#include <stdlib.h>
// Node structure
Struct Node {
Int data;
Struct Node* next;
};
newNode->data = data;
newNode->next = NULL;
return newNode;
}
// Delete an element
Void deleteNode(struct Node** head, int key) {
Struct Node* temp = *head;
Struct Node* prev = NULL;
// Main function
Int main() {
Struct Node* head = NULL;
While (1) {
Printf(“\nMenu:\n”);
Printf(“1. Insert element at front\n”);
Printf(“2. Insert element at end\n”);
Printf(“3. Insert element in middle\n”);
Printf(“4. Delete an element\n”);
Printf(“5. Display\n”);
Printf(“6. Display reverse\n”);
Printf(“7. Reverse the list\n”);
Printf(“8. Exit\n”);
Printf(“Enter your choice: “);
Scanf(“%d”, &choice);
Switch (choice) {
Case 1:
Printf(“Enter data to insert at front: “);
Scanf(“%d”, &data);
insertFront(&head, data);
break;
case 2:
printf(“Enter data to insert at end: “);
scanf(“%d”, &data);
insertEnd(&head, data);
break;
case 3:
printf(“Enter data to insert: “);
scanf(“%d”, &data);
printf(“Enter position to insert: “);
scanf(“%d”, &position);
insertMiddle(&head, data, position);
break;
case 4:
printf(“Enter element to delete: “);
scanf(“%d”, &data);
deleteNode(&head, data);
break;
case 5:
printf(“Linked list: “);
display(head);
break;
case 6:
printf(“Linked list in reverse: “);
displayReverse(head);
printf(“NULL\n”);
break;
case 7:
reverseList(&head);
printf(“Linked list reversed.\n”);
break;
case 8:
exit(0);
default:
printf(“Invalid choice!\n”);
}
}
Return 0;
}
Output :
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 1
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 2
Enter the element to insert at end: 30
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 5
Current List: 10 -> 30 -> NULL
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 3
Enter the element to insert: 20
Enter the position to insert: 2
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 5
Current List: 10 -> 20 -> 30 -> NULL
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 7
List Reverted.
1. Insert at Front
2. Insert at End
3. Insert in Middle
4. Delete an Element
5. Display
6. Display Reverse
7. Revert the List
8. Exit
Enter your choice: 5
Current List: 30 -> 20 -> 10 -> NULL