一、为什么需要建立单链表?
单链表的创建放在这儿并不是顺序搞错了
而是因为我们之前学习的单链表的插入操作是对单链表中元素的操作
并且单链表的创建依赖单链表中插入元素的知识
二、如何建立单链表?
1、尾插法建立单链表
Status create_list_tail(LinkedList head){
Node * temp_tail = head;
char ch = 'y';
while (ch == 'y' || ch == 'Y'){
//1 输入要插入的元素
ElemType elem = 0;
printf("Please input the required element:");
scanf("%d",&elem);
getchar(); //去掉回车符的影响
//2 建立新的节点
Node * pNew = new_node(elem, NULL);
//3 将新的节点插入链表
insert_elem(temp_tail, pNew);
temp_tail = pNew;
printf("Would you like to continue inserting(y/n):");
scanf("%c",&ch);
}
return Ok;
}
2、头插法建立单链表
//2 头插法建立单链表
Status create_list_head(LinkedList head){
char ch = 'y';
while (ch == 'y' || ch == 'Y'){
//1 首先输入元素
ElemType elem = 0;
printf("Please enter the required element:");
scanf("%d",&elem);
getchar();
//2 新建节点
Node * pNew = new_node(elem, NULL);
//3 插入节点
if (head->next == NULL){
insert_elem(head, pNew);
} else{
insert_after_node(head, elem);
}
printf("Would you like to continue inserting(y/n):");
ch = getchar();
getchar();
}
return Ok;
}
三、总结
1、掌握尾插法建立单链表的方法
2、掌握头插法建立单链表的方法