我对代码排序有什么问题? 当我打开我的程序时,我看到错误“程序没有响应”。请检查我的代码。
void sorting(el_list **first)
{
el_list *newfirst = NULL;
el_list *min, *prevmin, *tmp;
while( first )
{
min = first;
prevmin = NULL;
tmp = first;
while(tmp->next)
{
if (tmp->next->record.score < min->record.score)
{
prevmin = tmp;
min = tmp->next;
}
tmp = tmp->next;
}
if (prevmin) prevmin->next = min->next;
else first = min->next;
min->next = newfirst;
newfirst = min;
}
first = newfirst;
}
答案 0 :(得分:0)
更改此
if (tmp->next->record.score < min->record.score)
到
if ((min != NULL) && (tmp->next->record.score < min->record.score))
在取消引用指针之前始终检查。