static void BubbleSort(My402List *pList) { My402ListElem *elem=NULL; int i=0; int num_items = My402ListLength(pList); for (i=0; i < num_items; i++) { int j=0, something_swapped=FALSE; My402ListElem *next_elem=NULL; for (elem=My402ListFirst(pList), j=0; j < num_items-i-1; elem=next_elem, j++) { struct transaction_info *cur_val=(struct transaction_info *)&elem->obj; struct transaction_info *next_val; next_elem=My402ListNext(pList, elem); next_val = (struct transaction_info *)&next_elem->obj; int *a = (int *)cur_val->t_date; int *b = (int *)next_val->t_date; //printf("%d %d\n",*a,*b ); if (*a > *b) { //printf("ok\n"); BubbleSwap(pList, &elem, &next_elem); something_swapped = TRUE; } } if (!something_swapped) break; } }
void BubbleSortList(My402List *pList, int num_items) { My402ListElem *elem=NULL; int i=0; for (i=0; i < num_items; i++) { int j=0, something_swapped=FALSE; My402ListElem *next_elem=NULL; for (elem=My402ListFirst(pList), j=0; j < num_items-i-1; elem=next_elem, j++) { int cur_val=((trnx*)(elem->obj))->timeval, next_val=0; next_elem=My402ListNext(pList, elem); next_val = ((trnx*)(next_elem->obj))->timeval; if (cur_val > next_val) { BubbleSwap(pList, &elem, &next_elem); something_swapped = TRUE; } } if (!something_swapped) break; } }