1、逻辑结构
1.1 集合
1.2 线性
1.3 树形
1.4 图形
2、存储结构
2.1 顺序
2.2 链式
2.3 索引
2.4 散列
3、运算方法
定义:线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。
线性表的特征:1、数据元素个数有限;2、有序;3、数据类型相同
顺序表:采用顺序存储的线性表。
运算方法
class SequenceList{
public:
//创建表
SequenceList();
//销毁表
~SequenceList();
//插入
insert();
//删除
Remove();
//修改
Modify();
//查找
Find();
//初始化
InitSequenceList();
//显示表
ShowList();
};
一般而言,创建一个数据结构,需要有:创建,销毁,增删改查以及初始化这些基本功能。
可以看见,创建主体框架的时候,我并没有给函数添加形参和返回值类型。
这些可以在实现时,进行分析添置。当然,也可以先分析出所有情况再一一实现。
首先是创建一个顺序表初始化并显示。
const int maxSize = 10;
//此处假设顺序表的类型为int
class SequenceList {
int data[maxSize];
public:
SequenceList();
void InitSequenceList();
void ShowList();
};
SequenceList::SequenceList()
{
InitSequenceList();
}
void SequenceList::InitSequenceList()
{
memset((int*)data, 0, sizeof(int) * maxSize);
}
void SequenceList::ShowList()
{
for (size_t i = 0; i < maxSize; i+