所以我試圖按降序將節點插入鏈表中,但是當我得到重複的數字並且找不到問題的好解決方案時,我很掙扎。我要麼遇到丟失的數字/程序崩潰或程序列表只有1個無限次數。在插入期間對鏈表進行排序
這裏是我的代碼,我認爲工程達到了「其他」的聲明,那就是我找不出和IM只是離開我的最後一個版本,該犯規顯然工作
void Link::insert(int number) {
Node *news = new Node;
news->number = number;
if(first == NULL) {
first = news;
}
if(news->number > first->number) {
Node *temp = first;
first = news;
news->next = temp;
} else {
Node *temp = first;
while (temp->next || news->number < temp->number) {
temp=temp->next;
}
temp->next = news;
news->next = temp->next;
}
}
如果其他部分函數是需要的或我的main.cpp請讓我知道。
這解決了問題的一半明顯。它仍然沒有正確排序,例如當我輸入1 3 2 5時,它無限地打印2。 – BigPaws
編輯我的回答 – rakesh