#include "conio.h"
struct name
{
char info[20];
struct name *link;
}*ptr,*start,*node;
typedef struct name list;
void main()
{
void create(void);
void disp(void);
void sort(void);
clrscr();
printf("Program to enter the names and sort them using linked list.");
create(); //fun to enter the names
printf("The contents of the list were :");
disp(); //fun to display the data
sort(); //fun to sort the data
printf("After sorting :");
printf("The contents of the list are :");
disp();
getch();
}
void create(void)
{
char ch='y';
node=(list *)malloc(sizeof(list));
start=node;
while(ch=='y')
{
printf("Enter the name :");
gets(node->info);
ptr=node;
node=(list *)malloc(sizeof(list));
ptr->link=node;
printf("Want to continue?(y/n)");
fflush(stdin);
scanf("%c",&ch);
if(ch=='n')
break;
ch='y';
}
ptr->link=NULL;
}
void disp(void)
{
ptr=start;
while(ptr!=NULL)
{
printf(" %s",ptr->info);
ptr=ptr->link;
}
}
void sort(void)
{
int comp(char [],char []);
int i;
char temp[20],s1[20],s2[20];
list *ptr2;
for(ptr=start;ptr!=NULL;ptr=ptr->link)
{
for(ptr2=ptr->link;ptr2!=NULL;ptr2=ptr2->link)
{
strcpy(s1,ptr->info);
strcpy(s2,ptr2->info);
i=comp(s1,s2);
if(i==1)
{
strcpy(temp,ptr->info);
strcpy(ptr->info,ptr2->info);
strcpy(ptr2->info,temp);
}
}
}
}
No comments:
Post a Comment