笔记
余国煜
不薅头发,不挠头不掉头发。
展开
-
7.顺序表与线性链表的比较
顺序表和线性链表时线性表的两种存储表示,下面从不同方面对它们做一些比较,以期帮助读者在最合适的场合选择最合适的存储结构,达到最满意的效果。 一、存储方面的比较 从存储利用率来看,若用存储密度来衡量,可定义为 存储密度=数据元素占用的存储字节数为结构分配的最大字节数存储密度=\frac{数据元素占用的存储字节数}{为结构分配的最大字节数}存储密度=为结构分配的最大字节数数据元素占用的存储字节数...原创 2020-03-25 11:37:39 · 1429 阅读 · 0 评论 -
6.单链表(四)
[例 2-8] 用前插法建立一个单链表。所谓“前插法”是指每次新结点总是作为首元结点插入在链表的头结点之后。这是另一种建立单链表的方式,插入的结果使得链表中各结点中数据的逻辑顺序与输入数据的顺序正好相反。 [程序 2-21] 用前插法创建一个单链表 #include <stdlib.h> void insertFront(LinkList&first,DataType endT...原创 2020-03-24 22:23:14 · 203 阅读 · 0 评论 -
6.单链表(三)
带头结点的单链表 为了方便实现,为每一个链表加上一个“头结点”,如下图所示。它位于链表首元结点之前。头结点的data域可以不存储任何信息,也可以存放一个特殊标志或表长。下图中分别给出了非空表和空表的情形。只要表存在,它必须至少有一个头结点。 由于在链表的首元结点前面还有一个头结点,因此,只要把头结点当作第0个结点,在算法中查找第ai-1个结点时从k=0时开始,如果i不超过表的长度加1,总能找到含...原创 2020-03-20 21:38:06 · 485 阅读 · 0 评论 -
6.单链表(二)
单链表中的插入与删除 利用单链表来表示线性表,将使得插入和删除变得很方便,只要修改链中结点指针的值,无须移动表中的元素,就能高效地实现插入和删除操作。 1.插入算法 [例 2-4] 若想在非空单链表(a1,a2,a3,…,an)的第i个位置插入一个新元素x,有三种情况 若i=1,则新结点newNode应插入在原首元结点之前,如图(a)所示。这是必须修改链表的头指针first,插入时要修改指正为...原创 2020-03-15 16:47:51 · 305 阅读 · 0 评论