DS-6-单链表的建立
单链表的建立
Step1:初始化一个单链表
Step2:每次取一个数据元素,插入到表尾/表头
尾插法建立单链表:
LinkList List_TailInsert(LinkList &L) { //正向建立单链表
int x;
L = (LinkList)malloc(sizeof(LNode)); //建立头结点
LNode *s,*r = L; //r为表尾指针
scanf("%d",&x); //输入结点的值
while(x!=9999){ //输入9999表示结束
s = (LNode*)malloc(sizeof(LNode));
s->data = x;
r->next = s;
r = s; //r指向新的表尾结点
scanf("%d",&x);
}
r->next = NULL; //尾结点指针置空
return L;
}
头插法建立单链表:
LinkList List_HeadInsert(LinkList &L) { //逆向建立单链表
LNode *s;
int x;
L = (LinkList)malloc(sizeof(LNode)); //创建头结点
L->next = NULL; //初始为空链表
scanf("%d",&x); //输入结点的值
while(x! = 9999){ //输入 9999 表示结束
s = (LNode*)malloc(sizeof(LNode)); //创建新结点
s->data = x;
s->next = L->next;
L->next = s; //将新结点插入表中,L为头指针
scanf("%d",&x);
}
return L;
}
头插法、尾插法:核心就是之前写过的初始化操作、指定结点的后插操作

浙公网安备 33010602011771号