Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  structure sort
Language: C/C++
Code:
/*******************************************************************
    PROGRAM TO SORT NAMES ALPHABETICALLY USING LINKED LIST
********************************************************************/
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#include <string.h>
  struct name
     {
      char info[20];
      struct name *link;
      }*ptr,*start,*node;
    typedef struct name list;

int 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();
 printf("After sorting :");
 printf("The contents of the list are : ");
 disp();
 getch();
}
//-------------------------------------------
   void create(void)
     {
          char blank[2];
      char ch='y';
      node=(list *)malloc(sizeof(list));
      start=node;
      while(ch=='y')
       {
    printf("nnEnter the name :");
    gets(node->info);
    ptr=node;
    node=(list *)malloc(sizeof(list));
    ptr->link=node;
    printf("nnWant to continue?(y/n)");
    fflush(stdin);
    gets(blank);
    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);
    }
    }
      }
     }
//-------------------------------------------
        int comp(char s1[], char s2[]) {
   return s1 == s2;
}//fun to sort the data

          
          
Comments: