Thursday, May 13, 2010

Linked Lists - Inserting, Displaying and Deleting.

#include < iostream.h >
#include < conio.h >
#include < cstdlib.h >
#include < string.h >
using namespace std;

class position
{
public:

char *day;
position *next;

position()
{
day=new char[10];
}
void insert_value(position **,char *);
void display_values(position *);
void delete_arranged_day(position **,char *);
};


int main()
{
position *head=NULL;
int c;
char *d=new char[10];
position t;
int flag=0;
while(1)
{
puts("\n Enter one of the following: \n" );
puts("1 to insert an arranged day (Monday, Tuesday, Wednesday, Thursday, Friday)");
puts("2 to delete an arranged day");
puts("3 to display all arranged day(s)");
puts("4 EXIT \n");
scanf("%d",&c);

switch(c)
{
case 1: fputs("Enter the arranged day: ",stdout);
cin>>d;
t.insert_value(&head,d);
fputs("Your arranged day list: ",stdout);
t.display_values(head);
cin.get();
break;

case 2: fputs("Enter deleting day: ",stdout);
cin>>d;
t.delete_arranged_day(&head,d);
cin.get();
break;

case 3: fputs("Your arranged day list: ",stdout);
t.display_values(head);
cin.get();
break;

case 4: exit(0);
default: fputs("Enter a correct choice: ", stdout);
}
}
return(0);
}


void position::insert_value(position **h,char *d)
{

position *temp=new position;
position *front=*h;
strcpy(temp->day,d);
temp->next=NULL;
if(*h==NULL)
{
*h=temp;
return;
}
while(front->next!=NULL)
{
front=front->next;
}
front->next=temp;

}

void position::delete_arranged_day(position **h,char *d)

{
position *front=*h;
position *prev;
while(front!=NULL)
{
if(strcmp(front->day,d)==0)
{
if((front)==(*h))
{
*h=front->next;
return;
}
else
{
prev->next=front->next;
return;
}
}
prev=front;
front=front->next;
}
puts("position not found");
cin.get();

}

void position::display_values(position *h)

{
int n=0;
while(h!=NULL)
{
n=1;
printf("%s\t",h->day);
h=h->next;
}
puts("\n");
if(n==0)
puts("No arranged day");

}

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home