Example #1
0
int main()
{
	int i,nums[MAX],right,left,cnt=0;
	FILE *fp;
	
	if((fp=fopen("kadai-02-1.txt","r"))==NULL){
		printf("can't open a file\n");
		exit(1);
	}
	
	while(fscanf(fp,"%d",&nums[cnt]) != EOF) cnt++;
	
	left=0;right=cnt-1;
	
	while(left<right){
		right=rsort(nums,left,right);
		
		if(left>=right-1) break;
		
		left=lsort(nums,left,right);
	}
	
	for(i=0;i<cnt;i++){
		printf("%d\n",nums[i]);
	}
	
	return 0;
}
Example #2
0
  JNIEXPORT jint JNICALL Java_edu_berkeley_bid_CUMAT_lsort
  (JNIEnv *env, jobject obj, jobject jpkeys, jint n, jint desc) 
  {
    long long *pkeys = (long long *)getPointer(env, jpkeys);

    return lsort(pkeys, n, desc);
  }
Example #3
0
/* split list into 2 parts, sort each recursively, merge */
list *lsort (list *p)
{
      list *q, *r;

      if ( p )
      {
            q = p;
            for ( r = q->next; r && (r = r->next) != NULL; r = r->next )
                  q = q->next;
            r = q->next;
            q->next = NULL;
            if ( r )
                  p = lmerge(lsort(r), lsort(p));
      }
      return p;
}
Example #4
0
main (void)
{
      list *listp;                 /* pointer to start of list */

      /* first build unsorted list, then */

      listp = lsort(listp);                                 /* rdg 10/93 */

      return 0;
}
Example #5
0
void								sort(t_env *e, int len)
{
	int								i;
	int								x;
	int								tmp;
	int								*tab;

	i = -1;
	x = len;
	tmp = 0;
	tab = gettab(e->a->begin, len);
	while (x-- > 3)
	{
		ontop(e, tab[++i], lstlen(e->a));
		push(e, 'b');
		tmp++;
		if (verifsort(e->a))
			break ;
	}
	if (len - tmp == 3)
		lsort(e);
	while (tmp-- > 0)
		push(e, 'a');
}
Example #6
0
/*
 * Sort the list of programmers given as "programmers"
 */
void sort_programmers(LISTID programmers)
{
  lsort(programmers,(int (*)(void*, void*)) sort_programmer_compare);
}