RADIX SORT IN C
#include<stdio.h> int no_of_passes(int arr[],int size){ int pass=0,i,large=arr[0]; for(i=0;i<size;i++){ if(large<arr[i]) large=arr[i]; } while(large>0){ pass++; large/=10; } return pass; } void radix_sort(int arr[],int size){ int bucket[size][10],bucket_count[10]; int nop,n,rem,div=1,i,j,k; nop=no_of_passes(arr,size); for(n=0;n<nop;n++){ for(i=0;i<10;i++){ bucket_count[i]=0; } for(i=0;i<size;i++){ rem=(arr[i]/div)%10; bucket[rem][bucket_count[rem]]=arr[i]; bucket_count[rem]++; } i=0; for(k=0;k<10;k++){ for(j=0;j<bucket_count[k];j++){ arr[i]=bucket[k][j]; i++; } } div*=10; } } int main(){ int i,n; printf("Enter size of array:\n"); scanf("%d",&n); int list[n]; printf("Enter list of elements:\n"); for(i=0;i<n;i++) scanf("%d",&list[i]); radix_sort(list,n); printf("The sorted list is :\n...