C語言 鍊錶

2021-05-26 23:09:55 字數 1008 閱讀 5471

定義:

鍊錶是一種常見的重要的資料結構,是動態地進行儲存分配的一種結構。

鍊錶的組成

用結構體建立鍊錶:

struct student

;其中成員num和score用來存放結點中的有用資料(使用者需要用到的資料),next是指標型別的成員,它指向struct student型別資料(這就是next所在的結構體型別)。

處理動態鍊錶所需的函式

malloc( )函式

其函式原型為void *malloc(unsigned int size);其作用是在記憶體的動態儲存區中分配乙個長度為size的連續空間。此函式的值(即「返回值」)是乙個指向分配域起始位址的指標(型別為void)。如果此函式未能成功地執行(例如記憶體空間不足),則返回空指標(null)。

calloc( )函式

其函式原型為 void *calloc(unsigned n,   unsigned size); 其作用是在記憶體的動態儲存區中分配n個長度為size的連續空間。函式返回乙個指向分配域起始位址的指標;如果分配不成功,返回null。

用calloc函式可以為一維陣列開闢動態儲存空間,n為陣列元素個數,每個元素長度為size.

free( )函式

其函式原型為void free(void *p);其作用是釋放由p指向的記憶體區,使這部分記憶體區能被其他變數使用。p是最近一次呼叫calloc或malloc函式時返回的值。free函式無返回值.

建立動態鍊錶

是指在程式執行過程中從無到有地建立起乙個鍊錶,即乙個乙個地開闢結點和輸入各結點資料,並建立起前後相鏈的關係.

建立鍊錶  輸出鍊錶  刪除鍊錶的節點   插入鍊錶的節點 

c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶

下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...

c語言鍊錶 鍊錶

在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...

c語言 鍊錶 C語言之鍊錶入門

鍊錶三要素 1 頭指標 head 是用來說明鍊錶開始了,頭指標就代表鍊錶本身 所以以後要訪問鍊錶,就要訪問頭指標 2 結點 node 鍊錶中每乙個結構體變數 3 尾指標 用來說明鍊錶的結束 它是乙個空指標,null include includetypedef struct stud 定義了乙個結構...