Tag Archives: 顺序存储

数据结构重读 – 循环队列

队列也可以用顺序存储表示。定义还是一样的:从队尾rear推入元素。从头部head拿出元素,是FIFO。

与链式存储一致,我们仍然需要附设两个指针front和rear分别表示队列头元素和队列元素的位置。初始时front=rear=0是队列空的条件。

每当插入新的队列元素时,尾指针将增1.删除队列头元素时,头指针增加1。即非空队列中:头元素总是指向队首元素,而尾指针总是指向队尾元素的下一个位置。

除了基本的顺序存储外,我们还可以使用循环数组来构造一个循环队列

在循环队列中,[......]

继续阅读

数据结构重读 – 线性表的顺序存储

1、线性表也可以用顺序表示实现,即用一组地址连续的存储单元依次存储线性表的数据元素。特点是ai和ai+1位于相邻的存储单元上,只要确定了存储线性表的起始位置,任意元素都可以随机存取。

2、LOC(ai) = LOC(a1)+(i-1)*l

3、通常用数组来描述数据结构中的顺序存储结构。

4、线性表的顺序存储不同于数组的地方是:数组的大小是静态不动的;而线性表类似于C++中的vector,如果存储空间不够,会自动的增加内部空间,而这一切,对外部用户是透明的。

5、顺序存储的[......]

继续阅读

读书笔记-《数据结构》第二章-线性表的顺序存储

读书笔记 《数据结构》严蔚敏,第二章的线性表(顺序存储),C++描述。
List.h
#include
#include
typedef int Status;
enum S{OK=0,WRONG=-1};

typedef struct
{
 int *elem;
 int len;
 int listsize;
} List;

Status InitList(List &L)
{
 if((L.elem=new i[......]

继续阅读