You are on page 1of 2

#include<iostream>

using namespace std;


struct node
{
int data;
node*next;
};
class list
{
private:
node *head;
node *tail;
public:
list()
{
head=NULL;
tail=NULL;
}
void create_node(int val)
{
node *newNode;
if(head==NULL)
{
newNode=new node;
newNode->data=val;
head=newNode;
tail=newNode;
head->next=NULL;
}
else
{
newNode=new node;
newNode->data=val;
tail->next=newNode;
tail=newNode;
newNode->next=NULL;
}
}
void insert()
{
bool logic=false;
node*ptr,*ptr1,*tem;
ptr=head;
ptr1=head;
int t;
while(ptr!=tail)
{
logic=false;
int temp;
temp=ptr->data;
ptr1=ptr->next;
t=temp;
while(ptr1!=NULL)
{
if(temp>ptr1->data)
{
if(t>ptr1->data)
{
tem=ptr1;
t=ptr1->data;
logic=true;
}
}
ptr1=ptr1->next;
}
if(logic==true)
{
int a;
a=t;
tem->data=ptr->data;
ptr->data=a;
}
ptr=ptr->next;
}
}

void display()
{
node *ptr;
ptr=head;
do
{
cout<<ptr->data<<" ";
ptr=ptr->next;
}
while(ptr!=NULL);
}

};
void main()
{
list l1;
int val,n;
cout<<"enter nodes = ";
cin>>n;
cout<<endl;
cout<<"List Data:"<<endl;
cout<<endl;
for(int i=0;i<n;i++)
{
cout<<"enter num = ";
cin>>val;
l1.create_node(val);
}

cout<<endl;

l1.insert();
l1.display();
system("pause");
}

You might also like