顺序表的实现.docx
- 文档编号:12364076
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:15
- 大小:127.69KB
顺序表的实现.docx
《顺序表的实现.docx》由会员分享,可在线阅读,更多相关《顺序表的实现.docx(15页珍藏版)》请在冰豆网上搜索。
顺序表的实现
实验二:
顺序表的实现
班级电信081学号0808140512姓名王智杰
一、问题描述
实现顺序表的顺序存储和插入、删除、查找、遍历、清空等操作
二、需求分析
1、简述程序的基本功能
构造、析构、插入、删除、取值、赋值
2、输入的形式和输入值的范围
输入数字0~6,选择功能
3、输出的形式
选1:
选2(没有输入顺序表或顺序表被清空的情况):
选择3:
选择4:
选择5:
选择6:
选择0:
退出;
4、测试数据要求
可以输入一组数:
1,2,3,a,b,c,d,5,6。
显示:
三、概要设计
1、抽象数据类型
templateclassSeqList
intLength()const
voidSearch();
voidInsert(inti);
voidEmpty()
boolIsempty()
voidinput()
voidoutput()
voidIncreaseSize()
intRemove1(T&x)
intRemove2(inti)
2、主程序流程及模块调用关系
SeqList
-dataT*
-max_sizeint
-lenthint
+Length()int
+Search()void
+Insert(inti)void
+Empty()void
+Isempty()bool
+input()void
+output()void
+IncreaseSize()void
+Remove1(T&x)int
+Remove2(inti)int
四、详细设计(要求主要变量和语句加注释)
#include
usingnamespacestd;
template
classSeqList
{
protected:
T*data;
intmax_size;
intlenth;
public:
SeqList(intn);
~SeqList(){delete[]data;}
intLength()const{returnlenth;}
voidSearch();
voidInsert(inti);
voidEmpty(){inti;for(i=0;i<=lenth-1;i++)data[i]=NULL;lenth=0;cout<<"顺序表已经清空"< boolIsempty(){if(Length())returnfalse;elsereturntrue;} voidinput(); voidoutput(); voidIncreaseSize();//扩容函数 intRemove1(T&x);//按位置删除 intRemove2(inti);//按元素删除 }; template SeqList : SeqList(inti) { max_size=i; lenth=0; data=newT[max_size]; } template voidSeqList : IncreaseSize() { T*newarray=newT[max_size+10]; intn=lenth; T*srcptr=data; T*destptr=newarray; while(n--)*destptr++=*srcptr++; delete[]data; data=newarray;max_size+=10; }; template voidSeqList : Search() {inta=0,b,c;charx; cout<<"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)