鍊錶在c中的應用

2021-06-19 03:37:41 字數 545 閱讀 1056

時隔3天,最近真的有點事偷了個小懶,在此一定要自我檢討下,sorry,listo。

現在來談談鍊錶在c重的應用:

首先是鍊錶的概念以及意義:

鍊錶的出現就可以緩解使用陣列時記憶體的浪費問題,可以更高效的使資料儲存和使用。

鍊錶基礎理論:

可以將鍊錶的乙個結點看作有資料部分和指標部分構成的,所以,這裡用到結構體就可以很方便了,eg:

struct student

char name;

int num;

struct student *p;

這就是乙個簡單的結點的表示。

靜態鍊錶:

#include

#define null 0

struct student

;int main()

getch();

}這是靜態的鍊錶表示,其實很好理解,先定義好結點,然後做結點1,2,3,為每乙個結構體賦值,然後串聯結構體,使單個的結點變成鍊錶,最後乙個結尾為null 0;

動態鍊錶理解不是很深刻,所以明天總結動態鍊錶,加油,listo

快慢指標在鍊錶中的應用

快慢指標指的是定義兩個指標,這兩個指標的移動速度一快一慢,以此來製造出自己想要的差值,這個差值可以讓 我們找到鍊錶上相應的結點。一般情況下,快指標的移動步長為慢指標的兩倍 利用快慢指標,我們把乙個鍊錶看成乙個跑道,假設a的速度是b的兩倍,那麼當a跑完全程後,b剛好跑一半,以 此來達到找到中間節點的目...

快慢指標在鍊錶中的應用

快慢指標也是面試中的乙個常考知識點,主要是鍊錶的問題中應用較多。設定兩個指標 fast,slow 初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鍊錶存在環,則fast必定先進入環,而slow後進入環,兩個指標必定相遇。當然,fast先行頭到尾部為null,則為無環鏈表 程式如下 0...

快慢指標在鍊錶的應用

快慢指標中的快慢指的是移動的步長,即每次向前移動速度的快慢。例如可以讓快指標每次沿鍊錶向前移動2,慢指標每次向前移動1次。1 判斷單鏈表是否為迴圈鍊錶 演算法 讓快慢指標從煉表頭開始遍歷,快指標向前移動兩個位置,慢指標向前移動乙個位置 如果快指標到達null,說明鍊錶以null為結尾,不是迴圈鍊錶。...