Here is the code..
/******* Counting Sort**********/#include<stdio.h>int main(){int i,j,k=0,a[50],b[50],c[50],n;char ch;do{printf("enter number of elements to be inserted in array\n");scanf("%d",&n);printf("enter elements in array\n");for(i=1;i<=n;i++){scanf("%d",&a[i]);}for(i=1;i<=n;i++){if(k<a[i]){k=a[i];}}for(i=0;i<=k;i++)c[i]=0;for(j=1;j<=n;j++)c[a[j]]+=1;for(i=1;i<=k;i++)c[i]+=c[i-1];for(j=n;j>=1;j--){b[c[a[j]]]=a[j];c[a[j]]-=1;}printf("array after counting sort is\n");for(i=1;i<=n;i++)printf("%d ",b[i]);printf("\n");printf("want to continue(y/n)?\n");fflush(stdin);scanf("%c",&ch);}while(ch=='y' || ch=='Y');
return 1;}
For Turbo C users.
/******* Counting Sort**********/#include<stdio.h>#include<conio.h>int main(){int i,j,k=0,a[50],b[50],c[50],n;char ch;do{printf("enter number of elements to be inserted in array\n");scanf("%d",&n);printf("enter elements in array\n");for(i=1;i<=n;i++){scanf("%d",&a[i]);}for(i=1;i<=n;i++){if(k<a[i]){k=a[i];}}for(i=0;i<=k;i++)c[i]=0;for(j=1;j<=n;j++)c[a[j]]+=1;for(i=1;i<=k;i++)c[i]+=c[i-1];for(j=n;j>=1;j--){b[c[a[j]]]=a[j];c[a[j]]-=1;}printf("array after counting sort is\n");for(i=1;i<=n;i++)printf("%d ",b[i]);printf("\n");printf("want to continue(y/n)?\n");fflush(stdin);scanf("%c",&ch);}while(ch=='y' || ch=='Y');getch();return 1;}
No comments:
Post a Comment