資料結構 單鏈表 逆置單鏈表

2021-07-15 14:14:38 字數 561 閱讀 1833

題目:定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並返回反轉鍊錶後的頭結點。

我們可以借助圖來分析一下:

我們定義乙個新的頭結點為head,將begin指向head->_next,當begin不為空的時候,tmp = begin,begin = begin->_next,此時tmp是我們要摘下來的結點。tmp->_next = head; head = tmp;就完成了結點鏈結的操作。當迴圈走完時,_head = head.便完成了鍊錶的逆置。

**如下:

templatet>

struct listnode

};templatet>

class list

bool pushback();

void reverse()//單鏈表的逆置

_head = head;

}private:

listnode* _head;

};

資料結構 單鏈表的逆置

單鏈表的逆置分為兩種方法 頭插法和就地逆置法。1 頭插法 演算法思路 依次取原鍊錶中的每乙個節點,將其作為第乙個節點插入到新鍊錶中,指標用來指向當前節點,p為空時結束。2 就地逆置法 listnode reverselist listnode phead listnode prev null lis...

單鏈表逆置

單鏈表逆置 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 函式...