c語言單鏈表的實現

2021-06-22 17:18:53 字數 2100 閱讀 6057

乙個簡單結點的結構體表示為:

struct note

;乙個簡單的單向鍊錶的圖示

1.鍊錶是結構、指標相結合的

-種應用

,它是由頭、中間、尾多個鏈環組成的單方向可伸縮的鍊錶

,鍊錶上的鏈環我們稱之為結點。

2.每個結點的資料可用

-個結構體表示

,該結構體由兩部分成員組成:資料成員與結構指標變數成員。

3.資料成員存放使用者所需資料

,而結構指標變數成員則用來連線(指向

)下-個結點

,由於每

-個結構指標變數成員都指向相同的結構體

,所以該指標變數稱為結構指標變數。

4.鍊錶的長度是動態的

,當需要建立

-個結點

,就向系統申請動態分配

-個儲存空間

,如此不斷地有新結點產生

,直到結構指標變數指向為空

(null)

。申請動態分配

-個儲存空間的表示形式為:

(struct  note*)malloc(sizeof(struct note))

鍊錶的建立

在鍊錶建立過程中

,首先要建立第乙個結點

,然後不斷地

在其尾部增加新結點

,直到不需再有新結點

,即尾指標指向

null

為止。設有結構指標變數

struct note *p,*p1,*head;

head:

用來標誌煉表頭;

p:

在鍊錶建立過程中

,p總是不斷先接受系統動態分配的新結點位址。

p1->next

鍊錶建立的步驟:

第一步:建立第乙個結點

第二步:給第-

個結點成員

data

賦值並產生第二個結點

scanf(「%d」,&p->data);

/*輸入

第三步:將第

-個結點與第二個結點連線起來

第四步:產生第三個結點

p1=p;

scanf(「%d」,&p->data);/*

輸入8*/

p=(struct  node *)malloc(sizeof(struct node);

以後步驟都是重複第

三、四步

,直到給出

-個結束條件

,不再建新的結點時,要有

p->next

=null

;它表示尾結點。

**:

#include #include#define  len  sizeof(struct node)   

struct node

; main()

p-> next=null;/*尾結點的指標成員值*/

p=head;/*鍊錶顯示*/

printf("鍊錶資料成員是:");

while(p->next!=null)

printf("%d\n",p->data);

}

單鏈表實現 C語言

單鏈表分為帶頭結點和不帶頭結點。頭結點是和普通結點一樣,有資料域,指標域。資料域存放鍊錶結點的個數,指標域存放指向鍊錶的指標。不帶頭結點是指煉表有乙個單純的指標,指向鍊錶,不儲存資料。pragma once ifndef linklist h 防止標頭檔案重複引用 define linklist h...

C語言單鏈表實現

今天分享一下單鏈表 有空頭 的一些操作!主要呢就是增 刪 列印!單鏈表可以比喻成一趟火車,有空頭的單鏈表就像是乙個火車頭拉著一節有一節的車廂。乙個車廂中有資料域和指標域,指標域用來連線,每節車廂肯定要有東西連著,不然就沒有方向了。如圖 所以連線的時候只要將指標域指向下乙個節點就是連線上了,然後刪除呢...

C 語言單鏈表的實現(簡單實現)

簡單的實現單鏈表的增刪遍歷操作,還有一些功能需要實現。我感覺難理解的時候畫圖來搞清楚邏輯,先畫個圖比劃就行。author gong single linked list 增 刪 遍歷 include include 從新定義節點的資料域資料型別,以後好修改具體的鍊錶 typedef int data...