Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define size 1000
- #include<math.h>
- int b[size], c[size], d[size];
- void countsort(int a[], int n, int x)
- {
- int i,j, digit;
- for(i=0; i<=n; i++)
- {
- c[i] = 0;
- }
- for(i=1; i<=n; i++)
- {
- digit = a[i]/(pow(10,x-1));
- d[i] = digit%10;
- }
- for(j = 1;j<=n;++j)
- {
- c[d[j]] = c[d[j]] + 1;
- }
- for(i =1;i<=n;i++)
- {
- c[i] = c[i] + c[i-1];
- }
- for(j=n; j>= 1; j--)
- {
- b[c[d[j]]] = a[j];
- c[d[j]] = c[d[j]] -1;
- }
- for(i=1;i<=n;i++)
- {
- a[i] = b[i];
- }
- }
- void radixsort(int a[], int n,int x)
- {
- int i;
- for( i =1;i<=x;i++)
- {
- countsort(a,n,i);
- }
- }
- int main()
- {
- int i , n ;
- scanf("%d",&n) ;
- int a[n];
- for(i=1 ; i<=n ; i++)
- {
- scanf("%d",&a[i]);
- }
- radixsort(a,n,3);
- for(i = 1 ; i <=n ; i++)
- {
- printf("%d ",a[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment