在原有鍊錶的基礎上,依次將鍊錶頭部節點摘下,然後利用頭插至新的表頭(建議:畫圖更容易理解過程)
實現**如下:
#include
#include
using
namespace std;
//資料的型別
typedef
int data_t;
typedef
struct nodelinknode_t;
// 初始化煉表頭
linknode_t*
linklist_create()
// 頭插法:最新的節點資料在第乙個節點處
intlinklist_insert_head
(linknode_t *head,
int value)
// 尾插法
intlinklist_insert_tail
(linknode_t *head,
int value)
// 鍊錶翻轉
// 1. 頭刪--頭插
// 2. 原煉表頭<->新煉表頭:head
intlinklist_reverse
(linknode_t *head)
return0;
}// 列印鍊錶
intlinklist_show
(linknode_t *head)
cout
}int
main
(int argc,
const
char
*ar**)
單鏈表逆置
單鏈表逆置 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 函式...
單鏈表逆置
最近在leetcode oj上刷題,將一些演算法題的解法記錄下來,也期待一些新的更好的方法。題目是這樣滴 206.reverse linked list reverse a singly linked list.hint a linked list can be reversed either it...