fork download
  1. //Counting sort
  2. #include<stdio.h>
  3. #define high 50
  4. int arr[high];
  5.  
  6. void sort(int n){
  7. int max=0,i,j,c;
  8. for (i=0;i<n;i++){
  9. if (arr[i]>max){
  10. max=arr[i];
  11. }
  12. }
  13. int count[max+1];
  14. for (c=0;c<max;c++){
  15. count[c]=0;
  16. }
  17. for (i=0;i<n;i++){
  18. count[arr[i]]++;
  19. }
  20. for (c=0,i=0;c<=max;c++){
  21. for (j=0;j<count[c];j++){
  22. arr[i]=c;
  23. i++;
  24. }
  25. }
  26. }
  27.  
  28. void main(){
  29. int n,i;
  30.  
  31. printf("Enter no.of element in Array:");
  32. scanf("%d",&n);
  33.  
  34. printf("Enter the Array:\n");
  35. for (i=0;i<n;i++){
  36. printf("Element for index-%d:",i);
  37. scanf("%d",&arr[i]);
  38. }
  39.  
  40. printf("Given Array is:\n[");
  41. for (i=0;i<n;i++){
  42. printf(" %d ",arr[i]);
  43. }
  44. printf("]");
  45.  
  46. sort(n);
  47.  
  48. printf("Sorted Array using Counting sort:\n");
  49. printf("[");
  50. for (i=0;i<n;i++){
  51. printf(" %d ",arr[i]);
  52. }
  53. printf("]");
  54. }
Success #stdin #stdout 0.01s 5320KB
stdin
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
stdout
Enter no.of element in Array:Enter the Array:
Element for index-0:Element for index-1:Element for index-2:Element for index-3:Element for index-4:Element for index-5:Element for index-6:Element for index-7:Element for index-8:Element for index-9:Given Array is:
[ 0  0  0  0  0  0  0  0  0  0 ]Sorted Array using Counting sort:
[ 0  0  0  0  0  0  0  0  0  0 ]