On Monday 19 June 2006 13:55, Verdi March wrote:
int insertion_sort(IntList *ilist, IntStruct *is) { IntStruct **isp; for (isp = &ilist->head; *isp; isp = &((*isp)->next)) { if (is->i < (*isp)->i) { is->next = *isp; break; } else if (is->i == (*isp)->i) { /* return FALSE; */ return 0; } }
*isp = is; /* return TRUE; */ return 1;
}
What on earth is going on here.
insert 500 insert 100 insert 600
What is the result?
600 < 100? No, next 600 < 500? No, next end of list
*isp = is, goodbye list
That's no way to do an insertion sort.