我使用這種排序功能,但我不知道如何交換節點地址而不是值。我使用雙向鏈表。如何交換鏈接列表中的節點而不交換C語言中的數據?
謝謝
void sort(LISTnode **h) {
LISTnode * start, * min, * temp;
int num;
start = *h;
while (start->next != NULL) {
temp = start;
min = temp;
temp = temp->next;
while (temp != NULL) {
if (temp->number < min->number)
min = temp;
temp = temp->next;
}
// This part of the code
num = min->number;
min->number = start->number;
start->number = num;
start = start->next;
}
}
爲了交換節點,您需要先前的節點到您要交換的節點,因爲必須調整其下一個指針。 – FernandoZ
歡迎來到StackOverflow。 請參考[遊覽] 學習問好問題stackoverflow.com/help/how-to-ask, 作[mcve]。 – Yunnosch