- 1
- 0
- 约9.27千字
- 约 97页
- 2017-05-05 发布于北京
- 举报
数据结构(C)第2章线性表
第2章 线性表;2.1 线性表的基本概念;2.1.1 线性表的定义;2.1.2 线性表的抽象数据类型;2.2 线性表的顺序存储结构及实现; 2.2.1 线性表的顺序存储结构; 假设a1的地址为LOC(a1),每个元素占L个字节(本例L为2),ai的存放地址为:
LOC(ai)?=?LOC(a1)?+?L*(i?1)
只要确定了线性表存储的起始位置,线性表中任一数据元素的位置都可确定,可以随机存取。
; 为了更好地体现信息隐蔽原则以及数据抽象原则,一维数组elem[]和线性表的长度length封装在一个结构体中。
const int MAXSIZE=100;
typedef int ElemType ;
struct SqList0
{ ElemType elem[MAXSIZE]; //一维数组
int length ; //表的实际长度
}
SqList0就是顺序存储结构的类型标识符。;1.在类中使用静态一维数组
静态一维数组是指在声明定义数组时,所给出数组的大小是确定的。数组的大小留有余地。
const int MAXSIZE=100;
typedef int ElemType ;
class SqList1
{ private:
ElemType elem[MAXSIZE]; //一维数组
int length ; //线性表长度
public:
………;//其他成员函数;
};;2.在类中使用动态一维数组
动态一维数组是指在声明定义数组时用指针表示,数组的大小没有确定。在数据成员中除数组elem、表长length还给出表的容量maxlen。
class SqList2
{ private:
ElemType *elem; //用指针表示一维数组
int length ; //表的实际长度
int maxlen; //表的最大长度,容量
public:
………; //其他成员函数
} ;;2.2.2 顺序表类定义;//顺序表类SqList的定义
typedef int ElemType; //数据元素的类型
const int MAXSIZE=100; //数组的容量
class SqList
{ private:
ElemType elem[MAXSIZE]; //数组
int length; //线性表长
public:
SqList( void); //构造函数
~SqList(){ }; //析构函数
void Creat() ; //初建一个简表函数
void PrintOut(); //输出线性表函数
void Insert( int i, ElemType e); //插入函数
ElemType Delet(int i); //删除函数
};//类定义结束;SqList::SqList() {length=0; } //构造函数,构造空表
void SqList::Creat() //建立一个简表函数
{ cout\n Input length=; cinlength;
cout\n Input Data:\n ;
for(int k=0; klength;k++) cinelem[k];
}
void SqList::PrintOut() //输出线性表函数
{cout\n length=length ;
cout\n PrintOut Data:\n ;
for(int k=0; klength;k++) coutsetw(6)elem[k];
coutendl;
}
这两个函数主要是为
您可能关注的文档
最近下载
- 《岭外代答》的人类学解读实验——兼论宋代华夷之辨的弱化.pdf VIP
- QSH 0081-2007 探井(直井)钻井工程设计.docx VIP
- 《岭表录异》青少年读物.pdf VIP
- 资产处置委托协议书模板5篇.docx VIP
- mipi_CSI-2_specification_v1.3._高清版电子文档.pdf VIP
- QSH 0042-2007 钻井液用磺甲基酚醛树脂技术要求.docx VIP
- 《QSH0047-2007-钻井液用抗高温抗盐降滤失剂通用技术要求》.pdf VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 指数基金投资指南(银行螺丝钉).pdf VIP
- 《QSH0082-2007-水平井钻井工程设计要求》.pdf VIP
原创力文档

文档评论(0)