一、單鏈表的介紹
單鏈表是一種常用的數據結構,它由一系列節點組成,每個節點包含兩部分信息數據域和指針域。數據域用于存放節點所存儲的數據,指針域則用于指向下一個節點的地址。單鏈表的頭節點不存儲數據,只存儲指向個節點的指針。
二、單鏈表的建立
單鏈表的建立分為兩種情況頭插法和尾插法。頭插法是將新節點插入到鏈表頭部,而尾插法則是將新節點插入到鏈表尾部。以下是兩種方法的實現代碼
1. 頭插法建立單鏈表
```cclude
typedef struct Node{t data;
}Node;
Node head, p;alloc(sizeof(Node));ext = NULL;t; i++){alloc(sizeof(Node));tf("請輸入第%d個節點的數據", i + 1);f("%d", &p->data);extext = p;
} head;
tain(){t;tf("請輸入單鏈表的節點個數");f);); 0;
2. 尾插法建立單鏈表
```cclude
typedef struct Node{t data;
}Node;
Node head, p, tail;alloc(sizeof(Node));ext = NULL;
tail = head;t; i++){alloc(sizeof(Node));tf("請輸入第%d個節點的數據", i + 1);f("%d", &p->data);ext = p;
tail = p;
}ext = NULL; head;
tain(){t;tf("請輸入單鏈表的節點個數");f);); 0;
三、單鏈表的操作
單鏈表的操作包括插入、刪除、查找、遍歷等。以下是單鏈表的幾種常見操作的實現代碼
1. 在指定位置插入新節點
```csertNodett data){
Node p = head;t i = 0; i< pos - 1; i++){
}alloc(sizeof(Node));
q->data = data;extext = q;
2. 刪除指定位置的節點
```ct pos){
Node p = head;t i = 0; i< pos - 1; i++){
}ext
free(q);
3. 查找指定值的節點
```ct value){
while(p != NULL){
if(p->data == value){ p;
}
} NULL;
4. 遍歷單鏈表
void traverseList(Node head){
while(p != NULL){tf("%d ", p->data);
}tf");