分类 : 36个相关结果 19次浏览

数据结构—线性表的链式存储和运算—单链表应用举例

例2.5 已知单链表H,写一算法将其倒置。即实现如图2.22的操作。(a)为倒置前,(b)为倒置后。 算法思路:依次取原链表中的每个结点,将其作为第一个结点插入到新链表中去,指针p用来指向当前结点,p为空时结束。算法如下: void rev …

数据结构—线性表的链式存储和运算—双向链表

以上讨论的单链表的结点中只有一个指向其后继结点的指针域next,因此若已知某结点的指针为p,其后继结点的指针则为p->next ,而找其前驱则只能从该链表的头指针开始,顺着各结点的next 域进行,也就是说找后继的时间性能是O(1), …

数据结构—线性表的链式存储和运算—循环链表

对于单链表而言,最后一个结点的指针域是空指针,如果将该链表头指针置入该指针域,则使得链表头尾结点相连,就构成了单循环链表。如图2.16 所示。 在单循环链表上的操作基本上与非循环链表相同,只是将原来判断指针是否为NULL变为是否是头指针而已 …

数据结构—线性表的链式存储和运算—单链表基本运算

1. 建立单链表 (1)在链表的头部插入结点建立单链表 链表与顺序表不同,它是一种动态管理的存储结构,链表中的每个结点占用的存储空间不是预先分配,而是运行时系统根据需求而生成的,因此建立单链表从空表开始,每读入一个数据元素则申请一个结点,然 …

特殊矩阵的压缩存储—对称矩阵

对于一个矩阵结构显然用一个二维数组来表示是非常恰当的,但在有些情况下,比如常见的一些特殊矩阵,如三角矩阵、对称矩阵、带状矩阵、稀疏矩阵等,从节约存储空间的角度考虑,这种存储是不太合适的。下面从这一角度来考虑这些特殊矩阵的存储方法。 对称矩阵 …

广义表—广义表的定义和基本运算

顾名思义,广义表是线性表的推广。也有人称其为列表(Lists,用复数形式以示与统称的表List 的区别)。 ⒈广义表的定义和性质 我们知道,线性表是由n 个数据元素组成的有限序列。其中每个组成元素被限定为单元素,有时这种限制需要拓宽。例如, …

多维数组

本章介绍的数组与广义表可视为线性表的推广,其特点是数据元素仍然是一个表。本章讨论多维数组的逻辑结构和存储结构、特殊矩阵、矩阵的压缩存储、广义表的逻辑结构和存储结构等。 5.1.1 数组的逻辑结构 数组是我们很熟悉的一种数据结构,它可以看作线 …