void multisort(int *a, int start, int end) { int n = end - start; if (n <= 256) { countsort(a, start, n/2); countsort(a, n/2 + 1, end); mergesort(a, start, end); } else { multisort(a, start, n/2); multisort(a, n/2 + 1, end); mergesort(a, start, end); } }
int main(int argc, char **argv) { char str[] = "amazoninterview"; char *str_sorted = countsort(str); printf("%s\n", str_sorted); return 0; }
int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int n,m,i,tempa; scanf("%d",&n); int a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&m); int b[m]; for(i=0;i<m;i++) scanf("%d",&b[i]); tempa = caltemp(a,n); int ca[tempa]; countsort(a,n,tempa,ca); int cb[tempa]; countsort(b,m,tempa,cb); int ans[tempa]; for(i=0;i<tempa;i++) ans[i] = 0; if(m != n){ for(i=0;i<m;i++){ if(ca[b[i]] != cb[b[i]]) ans[b[i]] = b[i]; ca[b[i]] = 0; cb[b[i]] = 0; } for(i=0;i<tempa;i++){ if(ans[i] != 0) printf("%d ",ans[i]); } } return 0; }
int main(int argc, const char *argv[]) { int n = (int)*argv[1] - 48 , i; int a[n]; for(i=0; i<n; i++) { a[i] = rand()%100; printf("a[%d] = %d\n", i, a[i]); } countsort(a, 0, n-1, 100); return 0; }
int main(int argc,char** argv) { int i; // int a[11]={-1,26,5,77,1,61,11,59,15,48,19}; // int linka[11]={-1,9,6,0,2,3,8,5,10,7,1}; // listsort2(a,linka,11,4); int a[9]={-1,35,14,12,42,26,50,31,18}; int t[9]={-1,3,2,8,5,7,1,4,6}; int count[9]; // tablesort(a,t,9); countgen(a,count,9); countsort(a,count,9); for(i=1;i<9;i++) printf("%d ",a[i]); printf("\n"); return 0; }
void radix(char** str,int k,int r,int n) { int i; int j; int m; for(i=k-1;i>=0;i--) { countsort(str,k,r,i,n); for(m=0;m<n;m++) printf("%s\n",str[m]); printf("\n\n"); } }
void radix_sort(int *data,int size,int digitsize){ int i; for(i=1;i<=digitsize;i++) countsort(data,size,i); }