得到一個結點數據後,把原鏈表的頭結點地址賦給本結點的next指針,然後把這個結點作爲鏈表的頭結點即可。鏈表其實很簡單,所有結點都可以任意調整鏈條的搭接,不用挪動結點數據體。鏈表的優勢在於數據體是不用挪位置的,這樣就減少了复制的消耗,但正如辯證法所指出的,優勢也正是劣勢,正是這種機制使它難以檢索和排序——鏈表查找元素和排序都相當低效和麻煩,只有快速插入和刪除的優勢。使用鏈表,是根據實際情況而定,在它的強勢場合中使用,不要在它處於劣勢的地方使用。
要對鏈表排序,不管用什麽算法,思路都是把整個鏈條的結點指針理順,關鍵是選擇要不要复制挪動結點(由結點能否复制的性質而定),无非是另外構造一個影子排序後再照樣修正原來的鏈條結構。
[
本帖最后由 TonyDeng 于 2013-9-28 03:20 编辑 ]