Пример #1
0
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);
    }
}
Пример #2
0
int main(int argc, char **argv)
{
	char str[] = "amazoninterview";

	char *str_sorted = countsort(str);

	printf("%s\n", str_sorted);
	return 0;
}
Пример #3
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;
}
Пример #4
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;
}
Пример #6
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);
}