Professional Documents
Culture Documents
#include <cstdlib>
using namespace std;
class Node{
public:
int val;
Node* next;
Node(int item)
{
val = item;
next = NULL;
}
};
void insertAtFirst(int
item);//Complete
void insertAfterNode(int item, Node*
LOC); //complete
void insertAtLast(int item); //
complete
void delAtFirst(); // complete
void delAfterNode(Node* LOC);
//complete
void delAtLast(); // complete
void display(); //Complete
Node* head;
int main()
{
Node* one = new Node(11);
head = one;
Node* LOC = one;
insertAtFirst(12);
insertAtFirst(13);
insertAfterNode(67, LOC);
insertAtLast(14);
delAtFirst();
delAfterNode(LOC);
delAtLast();
display();
int option;
char opt;
do
{
} //End of Main
void display(){
Node* temp = head;
while(temp!=NULL)
{
cout<<"Next Address is: "<<temp-
>next<<"\tValue is: "<<temp-
>val<<endl;
temp = temp->next;
} //End of Display Function
}
void insertAtFirst(int item)
{
Node* temp =
(Node*)malloc(sizeof(temp));
if(temp==NULL)
{
cout<<"Overflow!!!\n";
return;
}
temp = new Node(item);
temp->next=head;
head=temp;
}// End of inserAtFirst Function
void delAtFirst()
{
if(head==NULL)
{
cout<<"Underflow!!!\n";
return;
}
head = head->next;
} //End of delAtFirst
void delAtLast()
{
if(head==NULL)
{
cout<<"underflow!!!\n";
return;
}
if(head->next==NULL)
{
head=NULL;
return;
}
Node* start = head;
while(start->next->next!=NULL)
{
start=start->next;
}
start->next = NULL;
// free (start->next);
}