Create counting sort.c
parent
ec8bdb7c84
commit
27f1c1a2ed
|
@ -0,0 +1,36 @@
|
||||||
|
// Counting sort is a stable Sorting Algorithm
|
||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
void countSort(int a[],int n,int key)
|
||||||
|
{
|
||||||
|
int count[50]={0}; // assigning all elements as zero
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
for(i=0;i<n;++i)
|
||||||
|
count[a[i]]=count[a[i]]+1; // increasing value of index(elements of array given) of count array
|
||||||
|
|
||||||
|
printf("Sorted elements after applying Counting sort:");
|
||||||
|
|
||||||
|
for(i=0;i<=key;++i)
|
||||||
|
for(j=1;j<=count[i];++j)
|
||||||
|
printf("%d ",i);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int a[40],n,i,key=0;
|
||||||
|
printf("Enter number of elements:");
|
||||||
|
scanf("%d",&n);
|
||||||
|
printf("\nEnter elements in array:");
|
||||||
|
// finding the masimum elements from the array
|
||||||
|
// to declare it as size of count array
|
||||||
|
for(i=0;i<n;++i)
|
||||||
|
{
|
||||||
|
scanf("%d",&a[i]);
|
||||||
|
if(a[i]>key)
|
||||||
|
key=a[i];
|
||||||
|
}
|
||||||
|
// calling counting sort
|
||||||
|
countSort(a,n, key);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue