数据(Data):客观事物的符号表示
数据元素(DataElement):数据的基本单位
数据项(DataItem):组成数据元素的、有独立含义的、不可分割的最小单位
数据对象(DataObject):性质相同的数据元素集合
数据结构:指相互之间存在一种或多种特定关系的数据元素的集合,包括逻辑结构和存储结构。
逻辑结构:从逻辑上描述数据,与数据的存储无关,独立于计算机的
集合结构、线性结构、树结构、图结构都是逻辑结构。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。包括顺序存储结构和链式存储结构。
函数结果状态代码:
#defineOK1
#defineERROR0
#defineOVERFLOW-2
Status是函数返回值类型,其值是函数结果状态代码
typedefintStatus;
数据元素类型约定为ElemType,由用户在使用该数据类型时自行定义
基本操作的算法都用如下格式的函数来描述:
函数类型函数名(函数参数表)
{
//算法说明
语句序列
}//函数名
当函数返回值为函数结果状态代码时,函数定义为Status类型。
分配空间:指针变量=new数据类型;
释放空间:delete指针变量;
交换赋值变量名1--变量名2;
下面是已复数为例的一个完整抽象类型的伪代码
ADTComplex{
数据对象:D={e1,e2
e1,e2∈R,R是实数集}
数据关系:S={e1,e2
e1是实部,e2是虚部}
基本操作:
Create(C,x,y)
操作结果:构造复数C,其实部和虚部分别被赋以参数x和y的值。
GetReal(C)
初始条件:复数C存在。
操作结果:返回复数的实部值。
GetImage(C)
初始条件:复数C存在。
操作结果:返回复数的虚部值。
Add(C1,C2)
初始条件:C!,C2是复数。
操作结果:返回两个复数的和。
Sub(C1,C2)
初始条件:C!,C2是复数。
操作结果:返回两个复数的差。
}ADTComplex
算法的特性:1有穷性,2确定性,3可行性,4输入(0或多个),5输出(至少一个)。
线性表的顺序表示
顺序表示是指用一组地址连续的存储单元依次存储线性表的数据元素。它是一种随机存取的存储结构。
C++中的头文件
iostreanm:标准输入输出流。
fstream:对文件进行操作。
iomainp:对输入输出操作的格式进行控制。
typedefintElemType;//Elemtype为可定义的数据类型,在此为int,需要改变时只需改掉中间的数据类型。