秒懂單鏈表及其反轉 reverse

2021-09-07 10:54:04 字數 572 閱讀 9866

什麼是鍊錶,這種資料結構是由一組node組成的,這群node一起表示了乙個序列。鍊錶是最普通,最簡單的資料結構(實體地址不連續),它是實現其他資料結構如stack, queue等的基礎

鍊錶比起陣列來,更易於插入,刪除。

node可以定義如下:

typedef int

element_type;

typedef

struct node *node_ptr;

struct

node ;

另外關於要不要頭節點這個問題,我建議加上頭節點,理由如下:

1. 沒有頭節點,刪除第乙個節點後,不小心就丟失了list

2. 插入頭部時,沒有個直觀的方法。

3. 通常的刪除操作,都要先找到前乙個節點,如果沒有頭節點,刪除第乙個節點就不一樣了。

接下來重點實現單鏈表的反轉,這也是常常考到的乙個問題,下面是c語言實現:

void

list_reverse(list l)

l->next =first;

}

單鏈表及其反轉

單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點由元素和指標構成,元素是儲存資料的儲存單元,指標是連線每個結點的位址資料,本文將介紹什麼是單鏈表以及單鏈表的翻轉,主要內容如下 什麼是單鏈表 遍歷反轉單鏈表 遞迴反轉單鏈表 什麼是單...

單鏈表反轉

單鏈表反轉,可以用迴圈做,當然也可以遞迴 詳見 include includestruct node 3 1 4 6 2 1 1 3 4 6 2 2 4 1 3 6 2 3 6 4 1 3 2 4 2 6 4 1 3 5 迴圈反轉,即依次改動3個指標值,直到鍊錶反轉完成 比如,上面第 1 行到第 2...

反轉單鏈表

include stdafx.h include include using namespace std struct listnode typedef listnode plistnode typedef plistnode list list creatlist return head void...