
On Monday 19 June 2006 19:20, Anders Johansson wrote:
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
My mistake. Actually, it's "*isp = is -> segmentation fault because *isp == NULL"
That's no way to do an insertion sort.
This is still true