Вы находитесь на странице: 1из 3

#include"iostream.

h"
#include"conio.h"
struct link
{
int data;
link *next;
};

class sortlist
{
private:
char ch;
int item;
int temp;

public:
link *curt;
link *prev;
link *first;
sortlist();
void input();
void insert(int);
void display();
void merge(sortlist);
void removedup();
};

void sortlist::sortlist()
{
first=0;
}
void sortlist::input()
{
cin>>item;
insert(item);
}
void sortlist::insert(int no)
{
link *temp;
curt=new link;
curt->data=no;
if(first==0||no<first->data)
{
curt->next=first;
first=curt;
}
else
{
temp=first;
while(temp->next!=0&&temp->next->data<no)
temp=temp->next;
curt->next=temp->next;
temp->next=curt;
}

}
void sortlist::display()
{
cout<<"\nTraversing linked list\n";
curt=first;
cout<<curt->data<<endl;
while (curt->next!=0)
{
curt=curt->next;
cout<<curt->data<<endl;
}
}
void sortlist::merge(sortlist addlist)
{
sortlist temp;
addlist.curt=addlist.first;
insert(addlist.curt->data);
while (addlist.curt->next!=0)
{
addlist.curt=addlist.curt->next;
insert(addlist.curt->data);
}
}

void sortlist::removedup()
{
link *temp;
curt=first;
temp=curt->next;
if(curt->data==temp->data)
curt->next=temp->next;

while(curt->next!=0)
{
while (temp->next!=0)
{
temp=temp->next;
if(curt->data==temp->data)
curt->next=temp->next;
}
curt=curt->next;
temp=curt;
}
delete temp;

void main(void)
{
clrscr();
char ch;
sortlist list1, list2, list3;
int n1,n2;
cout<<"Enter no of elements to insert in list 1\n";
cin>>n1;
cout<<"Enter elements of list 1\n";
for(int i=0;i<n1;i++)
list1.input();
list1.display();
ch=getche();
if(ch)
{
clrscr();
cout<<"Enter no of elements to insert in list 2\n";
cin>>n2;
cout<<"Enter elements of list 2\n";
for(i=0;i<n2;i++)
list2.input();
list2.display();

}
ch=getche();
if(ch)
{
clrscr();
list3.merge(list1);
list3.merge(list2);
list3.removedup();
cout<<"Merge list";
list3.display();
}
getch();

Вам также может понравиться