鑑於在正確的位置在已排序的鏈接列表中插入新節點時出現問題,我提出了以下解決方案。已排序的插入鏈接列表
void SortedInsert(node** headref, node* newnode) {
node* prev = NULL;
node* curr = *headref;
for (; curr;) {
if (curr->info > newnode->info) {
break;
}
prev = curr;
curr = curr->next;
}
if (!prev) {
newnode->next = *headref;
*headref = newnode;
} else {
newnode->next = prev->next;
prev->next = newnode;
}
}
這是行不通的。 有沒有任何邊緣情況下這不起作用。有更簡單的解決方案嗎?
_Does this work._你是否測試過自己的一些案例? – Mike 2011-04-01 20:13:57
編譯好。在前面,中間,結束時添加。有一個更簡單的方法。 – shreyasva 2011-04-01 20:15:21