私はこのソート機能を使用しますが、値の代わりにノードアドレスをスワップする方法はわかりません。私は二重リンクリストを使用します。 C言語でデータをスワップせずにリンクリスト内のノードをスワップする方法はありますか?
はあなたに2つのノード(スワップ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へ。 [ツアー]を取ってください。[mcve]を作ってください。 よくある質問stackoverflow.com/help/how-to-ask、 を作成してください。 – Yunnosch