一.单链表的头插法
- 从一个空表开始,重复读入数据
- 生成新结点,将读入数据存放到新结点的数据域中
- 从最后一个结点开始,依次将各个结点插入到链表的前端
头插法倒位序输入元素 如:L{1,2,3} 输入顺序为 3,2,1
void CreatList_H(LinkList &L){ //n为插入结点数
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;
int n;
printf("请输入结点个数");
scanf("%d",&n);
for(int i=n; i>0; i--){
LNode *p = (LNode*)malloc(sizeof(LNode));
printf("请输入数据元素");
scanf("%d",&p->data);
p->next = L->next;
L->next = p;
}
}
时间效率:T(n) = O(n)
二.单链表的尾插法
- 从一个空表L开始,将新结点逐个插入到链表的尾部,尾指针r指向链表的尾结点
- 初始时,r同L指向头结点
- 每读入一个