前言

上次我们说到顺序存储有着查找方便的便利,是因为它是随机存取的,但同样的,增删对于顺序表有着难以忍受的复杂度,因此我们引进了链表,它有着顺序表没有的优点。
如果我让你将两个数组内的所有元素按照从大到小的顺序排成一个大数组,你是否会选择创建一个大数组来承载这个任务。如果是,那你就该好好学习一下这一节的内容了。

一.链表的概念

1.链表:n个结点组成的长链。
2.
3.根据结点的不同又分为三种
(1).单链表:结点只有一个指针域
(2).双链表:结点有两个指针域,一个指向直接后继,一个指向直接前趋。
(3).循环链表:首尾相连的链表为循环链表
4.头指针:指向第一个结点的指针
5.首元结点:是指存储链表中第一个元素a1的结点
6.如上所举例子,表长为n;n=0时为空表,此时,如果有头节点,头结点指针域为空,无头结点,头指针为空(即NULL)
6.头节点:首元结点之前的一个结点(它的数据域一般是不需要存储数据的,如果非要存储,可以存储上表长),头结点的好处我们会在下面提到。
它与顺序表的区别在于:
1.结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。
2.访问时只能通过头指针进入链表,并通过每个结点的指针域依次向后顺序扫描各点,所以寻找第一个结点和最后一个结点的所花费时间不等,即顺序存取法。


先写到这里,明天我们将利用今天我们所学的知识解决开篇提出的问题
,并介绍一系列对链表的操作,并在这些操作中,体现出头结点的优点。

©著作权归作者所有:来自51CTO博客作者wx5f88563b1babb的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 《Golang从入门到跑路》之指针
  2. 9.6 C++指向结构体变量的指针
  3. 3-8(单链表相关算法习题+双链表)
  4. 3-7(单链表的相关算法题)
  5. 如何在 Java8 中风骚走位避开空指针异常
  6. 各种类型的指针作业解析(C语言)
  7. 初识指针
  8. 追了多年的开发框架,你还认识指针吗?
  9. 指针经典笔试题解析(C语言)

随机推荐

  1. 回发后,jquery datepicker ms ajax update
  2. Twitter在模式窗口中引导数据表程序
  3. 最简单jquery.ajax+php例子(对话框显示文
  4. 在Woocommerce结帐页面使用AJAX和Fee API
  5. 使用jQuery从一个.NET网格拖动并拖放到另
  6. jquery判断滚动条距离顶部的距离
  7. 将jQuery集转换为HTML
  8. JQuery-Dialog(弹出窗口,遮蔽窗口)
  9. 非常好用的JQuery自动补全插件bigautocom
  10. 查询下拉框只显示年份(jquery年份插件)