error in program
Author |
Message |
kalpesh
|
Posted: Tue Dec 08, 2009 12:53 pm Post subject: error in program |
|
|
Hi friends,
I've created code for linked list but it having some errors at adding node at end.
so would you please fix it?
..............
#include<stdlib.h>
#include<iostream.h>
#include<stdio.h>
struct list
{
int info;
struct list *next;
};
typedef struct list list;
list *start=NULL,*new1;
void insert();
void remove();
void display();
void main()
{
int choice;
for( ; ; )
{
cout<<"\n1 insert\n2 remove\n3 display\n4 exit";
cin>>choice;
switch(choice)
{
case 1:insert();
break;
case 2:remove();
break;
case 3:display();
break;
case 4:exit(0);
break;
}
}
}
void insert()
{
list *create_node();
list *ptr;
new1=create_node();
void addnode();
addnode();
}
list *create_node()
{
list *new1;
new1=(list*)malloc(sizeof(list));
cout<<"\nEnter the info part:";
cin>>new1->info;
new1->next=NULL;
return new1;
}
void addnode()
{
list *prev,*ptr;
if(start==NULL)
{
start=new1;
ptr=new1;
return;
}
else
if(start->info>new1->info)
{
new1->next=start;
start=new1;
return;
}
for(prev=start,ptr=start->next;ptr;prev=ptr,ptr=ptr->next)
{
if(ptr->info>new1->info)
{
prev->next=new1;
new1->next=ptr;
}
if(prev->next==NULL)
{
prev->next=new1;
ptr=prev->next;
}
}
}
void remove()
{
list *prev,*ptr,*temp;
int info;
cout<<"\nEnter the number to be deleted";
cin>>info;
if(start->info==info)
{
temp=start;
start=start->next;
cout<<"\n"<<temp->info<<" is deleted";
free(temp);
return;
}
for(prev=start,ptr=start->next;ptr;prev=ptr,ptr=ptr->next)
{
if(ptr->info==info)
{
temp=ptr;
ptr=ptr->next;
cout<<"\n"<<temp->info<<" is deleted";
free(temp);
}
}
}
void display()
{
list *ptr;
for(ptr=start;ptr;ptr=ptr->next)
{
cout<<"\nList is----- "<<ptr->info<<" ";
}
} |
|
|
|
|
![](images/spacer.gif) |
Sponsor Sponsor
![Sponsor Sponsor](templates/subSilver/images/ranks/stars_rank5.gif)
|
|
![](images/spacer.gif) |
|
|