Counting Sort Program

Counting Sort Program:


class Counting_Sort
{
       public static void main(String args[])
      {
              //int ar[]={10,8,12,16,9,7,5,15,14,3};
              //int ar[]={10,8,12,16,9,7,5,15,14,32};
              //int ar[]={10,16,8,12,15,6,3,9,5,7};
              //int ar[]={16,15,14,12};
              //int ar[]={4,10,3,5,1};
              int ar[]={4,2,3,0,2,4,6,5,3,2,6};
              int max=ar[0];
              for(int x=0;x<=ar.length-1;x++)
              {
                     if(ar[x]>max)
                     {
                            max=ar[x];
                     }
              }
              int b[]=new int[ar.length];
              counting(ar,b,max);
              for(int x=1;x<=b.length-1;x++)
              {
                     System.out.print(b[x] + " ");
              }
       }
     
       public static void counting(int ar[],int b[],int k)
       {
              int c[]=new int[k+1];
              for(int x=0;x<=k-1;x++)
              {
                     c[x]=0;
              }
              for(int x=1;x<=ar.length-1;x++)
              {
                     c[ar[x]]=c[ar[x]]+1;
              }
              for(int x=1;x<=k;x++)
              {
                     c[x]=c[x]+c[x-1];
              }
              for(int x=ar.length-1;x>=0;x--)
              {
                     b[c[ar[x]]]=ar[x];
                     c[ar[x]]=c[ar[x]]-1;
              }
       }
}

Post a Comment

0 Comments