数据结构第二章线性表幻灯片.pptVIP

  • 2
  • 0
  • 约1.65万字
  • 约 62页
  • 2018-03-26 发布于广东
  • 举报
2.3.2 单链表上基本运算的实现 1. 建立单链表 (1)在链表的头部插入结点建立单链表 链表与顺序表不同,它是一种动态管理的存储结构,链表中的每个结点占用的存储空间不是预先分配,而是运行时系统根据需求而生成的,因此建立单链表从空表开始,每读入一个数据元素则申请一个结点,然后插在链表的头部,如图2.10 展现了线性表:(25,45,18,76,29)之链表的建立过程,因为是在链表的头部插入,读入数据的顺序和线性表中的逻辑顺序是相反的。 算法如下: LinkList Creat_LinkList1( ) { LinkList L=NULL;/*空表*/ Lnode *s; int x; /*设数据元素的类型为int*/ scanf("%d",x); while (x!=flag) { s=malloc(sizeof(LNode)); s-data=x; s-next=L; L=s; Scanf ("%d",x); } return L; } 算法2.8 (2)在单链表的尾部插入结点建立单链表 头插入建立单链表简单,但读入的数据元素的顺序与生成的链表中元素的顺序是相反的,若希望次序一致,则用尾插入的方法。因为每次是将新结点插入到链表的尾部,所以需加入一个指针 r 用来始终指向链表中的

文档评论(0)

1亿VIP精品文档

相关文档