>>427
work[n].next = &work[n];
は
saigo->next = &work[n];
の誤りだな。