#include
#include
struct node
{
int data;
node *next;
};
class linklist
{
node *lptr,*tptr,*nptr,*nptr1;
public:
linklist()
{
lptr=NULL;
}
void newnode(int item);
void link();
void showdata();
void addlast(int x);
void addfirst(int y);
void addmid(int z);
void delet(int w);
void search(int v);
};
void linklist::newnode(int item)
{
nptr=new(node);
nptr->data=item;
nptr->next=NULL;
}
void linklist::link()
{
if(lptr==NULL)
{
lptr=nptr;
tptr=nptr;
}
else
{
tptr->next=nptr;
tptr=nptr;
}
}
void linklist::showdata()
{
node *cuptr;
cuptr=lptr;
while(cuptr!=NULL)
{
printf(" %d",cuptr->data);
cuptr=cuptr->next;
}
}
void linklist::addlast(int x)
{
tptr=lptr;
while(tptr->next!=NULL)
{
tptr=tptr->next;
}
nptr1=new(node);
nptr1->data=x;
nptr1->next=NULL;
tptr->next=nptr1;
tptr=nptr1;
}
void linklist::addfirst(int y)
{
nptr1=new(node);
nptr1->data=y;
nptr1->next=NULL;
nptr1->next=lptr;
lptr=nptr1;
}
void linklist::addmid(int z)
{
tptr=lptr;
nptr=new(node);
nptr->data=z;
nptr->next=NULL;
while(tptr->next->data<=z) { tptr=tptr->next;
}
nptr->next=tptr->next;
tptr->next=nptr;
tptr=nptr;
}
void linklist:: delet(int w)
{
tptr=lptr;
while(tptr->data!=w)
{nptr=tptr;
tptr=tptr->next;
}
nptr->next=tptr->next;
delete(tptr);
}
void linklist::search(int v)
{
int f=0;
tptr=lptr;
while(tptr->next!=NULL)
{
if(tptr->next->data==v)
{
f=1;
break;
}
else
tptr=tptr->next;
}
if(f==1)
printf("\n found");
else
printf("\n not found");
}
main()
{
clrscr();
int n,d,a,b,c,t,m,r;
linklist myself;
printf("\n enter nodes:");
scanf("%d",&n);
printf(" \n enter data for nodes:");
for(int i=0;i
{
scanf("%d",&d);
myself.newnode(d);
myself.link();
}
printf("\n linklist is:");
myself.showdata();
printf("\n \n **************************************************");
printf("\n \n enter 1 for enter number at last:");
printf("\n \n enter 2 for enter number at first:");
printf("\n \n enter 3 for enter number between any tow number:");
printf("\n \n enter 4 for delete a number:");
printf("\n \n enter 5 for search a number:");
printf("\n \n **************************************************");
printf("\n \n enter a number:");
scanf("%d",&t);
switch(t)
{
case 1:
printf("\n enter a new nodes:");
scanf("%d",&a);
myself.addlast(a);
printf("\n linklist after add last:");
myself.showdata();
break;
case 2:
printf("\n enter a new nodes:");
scanf("%d",&b);
myself.addfirst(b);
printf("\n linklist after add first:");
myself.showdata();
break;
case 3:
printf("\n enter a new nodes:");
scanf("%d",&c);
myself.addmid(c);
printf("\n linklist after add first:");
myself.showdata();
break;
case 4:
printf("\n enter the number:");
scanf("%d",&m);
myself.delet(m);
printf("\n linklist after delete:");
myself.showdata();
break;
case 5:
printf("\n enter the number:");
scanf("%d",&r);
myself.search(r);
break;
}
getch();
}
0 comments:
Post a Comment