鍊錶反轉(c 描述)

2022-06-19 19:21:09 字數 879 閱讀 7467

問題是給定乙個鍊錶的頭節點,要求把鍊錶反轉,輸出所有元素。這裡講下怎麼反轉。

鍊錶如圖所示:

首先定義乙個pre和乙個tmp都為空

listnode* tmp=null;

listnode* pre=null;

第二步,把頭節點的原next指標放入tmp中

第三步,使next指標指向pre,這時候鍊錶是這樣的

第四步,把phead賦值給pre

第五步,把tmp中儲存的原next指向的值賦給phead,於是鍊錶就變成這樣

從這個過程可以看出phead與pre各自往前走了一步,以此類推直到phead到達表尾,最後再執行一次結束迴圈。

**如下:

1/*2

struct listnode 8};

*/9class

solution

15 listnode* tmp=null;

16 listnode* pre=null;

17while

(phead)

23return

pre;24}

25 };

C 單向鍊錶反轉

根據我的理解,我這裡用到用到三個指標 假設有如下鍊錶 新建三個指標,資訊分別如下 head curr都指向list,而 temp指向乙個空塊 然後將curr移動到下一塊鍊錶,這時將head next指向temp 最後移動temp到head,再將head移動到curr,整個過程大概就這樣 如下 nod...

1015 反轉鍊錶 C

題目 題目描述 給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為 3 2 1 6 5 4 如果k為4,則輸出應該為4 3 2 1 5 6,即最後不到k個元素不反轉。輸入描述 每個輸入包含1個測試用例。每個測試用例第1行給出第1...

反轉鍊錶(c 實現)

template class t class listnode template class t class list 反轉鍊錶 1 1 首先若煉表為空或只有乙個元素,不需要反轉,否則到2 2 定義三個指標p,q,r,p head它們的關係為p q r 3 令q p,若r為尾節點,則令r q,hea...