逆置 反轉單鏈表(C )詳細

2021-10-16 08:28:59 字數 890 閱讀 7504

遺留的問題:

我想新建立乙個鍊錶來實現單鏈表的反轉,目前還沒有實現出來

思想及演算法

**

#include

using

namespace std;

struct list };

list*

insert

(list* head,

int x)

list* t =

newlist

(x);

p->next = t;

return head;

}void

pprint

(list* head)

if(head-

>next ==

nullptr

)else

return

pprint

(head-

>next);}

list*

reserve

(list* head)

list* p0 =

nullptr

; list* p1 = head;

list* p2 = head-

>next;

while

(p1)

}return p0;

}int

main()

pprint

(head)

; list* t =

reserve

(head)

;pprint

(t);

return0;

}

執行結果

單鏈表的逆置 反轉

題目 單鏈表的逆置 反轉。解題思路 思路一 定義三個指標,n1,n2,n3,初始值分別為 鍊錶第乙個節點,鍊錶第二個節點,第三個節點。n2儲存的是n1的位址,n3儲存的是n2的位址,通過n3來往後遍歷,直n2為空,這時n1指向最後乙個元素,這時返回n1,就可以逆置鍊錶 如下圖 實現 slistnod...

單鏈表逆置

單鏈表逆置 include include define item num 10 typedef struct tagnode node node linklist create void linklist destroy node head void linklist print node hea...

單鏈表逆置

name 單鏈表逆置 author 巧若拙 date 22 11 14 16 13 description 分別用遞迴和非遞迴兩種方式實現單鏈表 不含頭結點 的逆置 include include include typedef char elemtype typedef int status 函式...