乙個簡單結點的結構體表示為:
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...