標籤:
第一次寫代碼的部落格,一個剛剛接觸的新手,來這裡主要是為了記錄自己,方便自己以後瀏覽,也歡迎大家指正。先來個簡單的,動態鏈表的建立和遍曆。
#include<stdio.h>#include<stdlib.h>#include<malloc.h>//定義鏈表的節點typedef struct LNode{ int data; struct LNode *next;} *LinkList;//建立鏈表函數LinkList CreateList(){ LinkList LTail, LHead, p; int i, length,input; LHead = (LinkList)malloc(sizeof(LNode)); //建立一個表前端節點 if (!LHead) exit(0); //判斷表頭是否建立成功 LTail = LHead; //定義一個表尾 LTail->next = NULL; //表尾的指標賦予NULL printf("請輸入你需要的節點數:\n"); scanf_s("%d", &length); for (i = 0; i < length; i++) { printf("請輸入第%d個節點的資料", i + 1); scanf_s("%d", &input); p = (LinkList)malloc(sizeof(LNode)); //建立一個新的節點 if (!p) exit(0); p->data = input; //將輸入的input的值賦給新的節點 p->next = NULL; //因為新的節點將要作為鏈表的表尾,所以將其指標賦予NULL. LTail->next = p; //將表尾與新的節點串連起來 LTail = p; //將新的節點賦給LTail,成為新的表尾 } return LHead; //返回表頭}//遍曆鏈表函數void TravelList(LinkList Head) { LinkList p = Head->next; //從鏈表前端節點的下一個節點開始遍曆 while (p != NULL) //當鏈表為空白時,停止遍曆 { printf("%d\t", p->data); p = p->next; //向後移動一個節點 }}int main(){ LinkList head; head = CreateList(); TravelList(head); return 0;}
[資料結構】【c語言】鏈表的建立和遍曆