鍊錶應用 快速刪除與倒置

2022-07-01 12:57:07 字數 583 閱讀 2216

快速刪除乙個結點,常規刪結點要找到前乙個結點,如果給出這個結點的指標,可以採取拷貝下乙個結點內容,釋放下乙個結點

單鏈表的倒序反轉,只需將p指向的結點不斷掛到頭結點,將p不斷向下移動即可

#include #includetypedef struct node

node;

typedef node* pnode;

int countnum;

void createnode(pnode* list)//建立乙個鍊錶,且賦值從0開始

//快速刪除乙個結點,給出要刪除的結點的指標,把後乙個結點資料拷貝到這個結點,釋放後乙個結點

//時間複雜度為o(0) 但無法刪除最後乙個結點,無法修改倒數第二個pnext使得鍊錶無法終止

void quickdelete(pnode trvp, pnode delenode)

else }

//單鏈表的倒序反轉,只需將p指向的結點不斷掛到頭結點指向的pnext,將p不斷向下移動即可

void reversenode(pnode hnode)

}int main()

鍊錶的倒置

public static void reorder ref node listhead node lefthead listhead node righthead null node current lefthead.next lefthead.next null while current nu...

單鏈表 鍊錶倒置

鍊錶屬於動態資料結構,可以模擬成一 環 接一 環 的鏈條,這裡每一 環 視作乙個結點,結點串在一起形成鍊錶。這種資料結構非常靈活,結點數目無須事先指定,可以臨時生成。每個結點有自己的儲存空間,結點間的儲存空間也無需連線,結點之間的串連由指標來完成,指標的操作又極為靈活方便,無須移動大批資料,只需修改...

單向鍊錶的倒置

首先要判斷當鍊表的長度為0或者1的時候,直接返回當前節點即可,否則需要兩個輔助 指標 pre next,分別指向頭結點的前結點和後結點,不然next屬性改變的時候就會丟失原先列表的結點位址。首先讓pre null,next null 迴圈當head null 的時候,讓next head.next,...