我在考慮排序鏈表的方法,我想出了兩種不同的方法(使用BubbleSort,因爲我在編程方面相對較新,對我來說這是最簡單的算法) 。例如結構:排序鏈接列表的方法之間的區別C++
struct node {
int value;
node *next;
};
的兩種不同的方法:
- 重新排列列表中的元素
- 做這樣的事情
swap(root->value, root->next->value)
我做了一些谷歌搜索關於這個問題,並從看起來,第一種方法似乎更受歡迎。根據我的經驗,重新排列列表比簡單地交換實際節點值要複雜得多。重新整理整個清單是否有任何好處,如果是,它是什麼?