Linked List
Linked List
#include <stdio.h>
#include <stdlib.h>
// Create a node
struct Node {
int data;
};
new_node->data = new_data;
new_node->next = (*head_ref);
(*head_ref) = new_node;
if (prev_node == NULL) {
new_node->data = new_data;
new_node->next = prev_node->next;
prev_node->next = new_node;
new_node->data = new_data;
new_node->next = NULL;
if (*head_ref == NULL) {
*head_ref = new_node;
return;
last->next = new_node;
return;
// Delete a node
void deleteNode(struct Node** head_ref, int key) {
*head_ref = temp->next;
free(temp);
return;
prev = temp;
temp = temp->next;
prev->next = temp->next;
free(temp);
// Search a node
return 0;
int temp;
if (head_ref == NULL) {
return;
} else {
index = current->next;
temp = current->data;
current->data = index->data;
index->data = temp;
index = index->next;
current = current->next;
}
// Print the linked list
node = node->next;
// Driver program
int main() {
insertAtEnd(&head, 1);
insertAtBeginning(&head, 2);
insertAtBeginning(&head, 3);
insertAtEnd(&head, 4);
insertAfter(head->next, 5);
printList(head);
deleteNode(&head, 3);
printList(head);
int item_to_find = 3;
if (searchNode(&head, item_to_find)) {
sortLinkedList(&head);
printList(head);