Linked List C
Linked List C
#include <iostream>
using namespace std;
if (position == 1) {
insertAtBeginning(value);
return;
}
if (head->link==NULL)
{
delete head;
head = NULL;
return;
}
if (position == 1)
{
deleteFromBeginning();
return;
}
Node* temp = head;
for (int i = 1; i < position - 1 && temp !=NULL; ++i)
{
temp = temp->link;
}
if ((temp==NULL) || (temp->link==NULL))
{
cout << "Position out of range." << endl;
return;
}
// Save the node to be deleted
Node* nodeToDelete = temp->link;
// Update the link pointer
temp->link = temp->link->link;
// Delete the node
delete nodeToDelete;
}
// Function to print the nodes value of the linked list
void display()
{
if (head==NULL)
{
cout << "List is empty." << endl;
return;
}
int main()
{
int x,p,k;
do
{
cout<<"=================================="<<endl;
cout<<"1) Insert element in the Begining"<<endl;
cout<<"2) Insert element in the End"<<endl;
cout<<"3) Insert element in the Position"<<endl;
cout<<"4) Delete element from the Begining"<<endl;
cout<<"5) Delete element from the End"<<endl;
cout<<"6) Delete element from the Position"<<endl;
cout<<"7) Display elements of the List"<<endl;
cout<<"0) Exit"<<endl;
cout<<"Enter your choice : ";
cin>>k;
switch (k)
{
case 1:{
cout<<"Enter value :";
cin>>x;
insertAtBeginning(x);
cout << "Linked list after insertions: ";
display();
break;
}
case 2:{
cout<<"Enter value :";
cin>>x;
insertAtEnd(x);
cout << "Linked list after insertions: ";
display();
break;
}
case 3:{
cout<<"Enter value :";
cin>>x;
cout<<"Enter position to insert :";
cin>>p;
insertAtPosition(x, p);
cout << "Linked list after insertions: ";
display();
break;
}
case 4:{
deleteFromBeginning();
cout << "Linked list after deleting : ";
display();
break;
}
case 5:{
deleteFromEnd();
cout << "Linked list after deleting : ";
display();
break;
}
case 6:{
cout<<"Enter position to delete :";
cin>>p;
deleteFromPosition(p);
cout << "Linked list after deleting : ";
display();
break;
}
case 7:display();
break;
case 8:cout<<"Exit"<<endl;
break;
default: cout<<"Invalid choice"<<endl;
}
} while( k != 0);
return 0;
}