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; }
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); }
/* 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; }
main (void) { list *listp; /* pointer to start of list */ /* first build unsorted list, then */ listp = lsort(listp); /* rdg 10/93 */ return 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'); }
/* * Sort the list of programmers given as "programmers" */ void sort_programmers(LISTID programmers) { lsort(programmers,(int (*)(void*, void*)) sort_programmer_compare); }