数据结构
好运的云
一个头脑简单的人
展开
-
数据结构复习<1> 线性表的顺序存储结构及其实现
由于线性表的数据元素类型不确定,所以采用C++的模板机制。 在写模板时,由于长时间未写过C++了,对其模板机制的概念非常模糊,如以下代码存在基础语法错误或者丑陋的代码,请指出来,我将虚心改错,感谢。 顺序表——线性表的顺序存储结构 一、顺序表的定义 顺序表是用一段地址连续的存储单元依次存储线性表的数据元素。 二、顺序表的存储 通常用一维数组来实现顺序表,使用时要注意区分数组的下标与...原创 2018-07-08 20:40:55 · 611 阅读 · 0 评论 -
数据结构复习<2> 线性表的链接存储结构及其实现
在此之前,我整理了用顺序表存储线性表的方法,但是顺序表具有以下缺点: 列表内容插入和删除非常费劲。需要移动大量元素。 表的容量难以确定。因为顺序表中数组的长度需要事先确定,所以难以确定合适的规模。 造成存储空间的“碎片”。数组要求连续的存储空间,若不连续则不能使用,造成存储空间的“碎片”现象。 这一次,我们尝试用单链表存储线性表。 一、 单链表的存储方法 通过每个指针的指针...原创 2018-07-09 17:24:08 · 510 阅读 · 0 评论 -
数据结构复习<4> 循环队列的顺序存储和连接存储
队列的定义 队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。插入的一端称为队尾,删除的一端称为队头。 队列具有“先进先出”的特性,如下图所示: 队列的顺序存储结构及其实现 设置队头队尾指针,减少时间开销。 采用循环队列,解决假溢出问题。 队空和队满的判定问题 初始化空队时,令front = rear = 0 , 当队空时:front = rear。 当队满...原创 2018-07-16 10:53:23 · 451 阅读 · 0 评论 -
数据结构复习<3> 栈的顺序存储和链接存储
栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表,允许操作的一端称为栈顶,不进行操作的一端称为栈底,不含任何数据元素的栈称为空栈。 栈具有“后进后出”的特性,就如同一叠盘子,要从这叠盘子中取出盘子或者放入一个盘子,只有在其顶部操作是最方便的。 1.栈的顺序存储结构——顺序栈 //栈的顺序存储 template <class T> class SeqStack { publ...原创 2018-07-15 12:47:13 · 637 阅读 · 0 评论