课程设计(模板、信管10).docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(模板、信管10)

课 程 设 计 课程:数据结构 题目:顺序表31 班级:信管10级 姓名:李燊林 学号:2010508169 设计时间:2011年06月20日——2011年11月20日 成绩: 指导教师:楼建华 一、题目 题目 顺序表31 结构 结构体指针(动态数组,表长) 回传 函数值 操作 成员函数:初始化,输出,求表长,插入,删除,取元素,查找,替换,复制,清空 二、概要设计 1.数据结构 ⑴逻辑结构(a1,a2,…,an) ⑵存储结构(附存储图) typedef struct{/*动态顺序表*/ int last,max;/*尾元下标和预留表长*/ DataType *data;/*动态数组的基址*/ }SeqList; last max data data[0] data[1] …… data[last] …… data[max] a1 a2 …… alast+1 空闲 2.基本操作(声明函数) SeqList *Init(){//初始化 void Out(SeqList *L);//输出 int Len(SeqList *L);//求表长 void Ins(SeqList *L,int i,DataType x);//插入 void Del(SeqList *L,int i);//删除 Datatype get(SeqList *L,int i);//取元素 int Location(SeqList *L,DataType x){//查找 void replace(SeqList *L,int i,DataType x);//替换 void copy(SeqList *L,SeqList S);//复制 void clear(SeqList *L);//清空 3.设计要点 ⑴如图1所示,表t中第i个元素表为t.data[i-1] ⑵插入操作的要点如图2所示 …… data[i-1] data[i] …… data[last] …… ①移动: ↘ ↘ …… ↘ …… data[i] data[i] …… data[last] …… ②插入: ↑ 图2 ⑶删除操作的要点如图3所示 …… data[i] data[i+1] …… data[last] …… 移动: ↙ ↙ …… ↙ …… data[i-1] data[i] …… data[last] …… 图3 三、源程序(附测试数据) #includeiostream using namespace std; #define DataType int/*假设表中元素为int型*/ #define INIT 3/*初始预留表长为3(测试后调整)*/ #define INC 2/*预留表长增量为2(测试后调整)*/ typedef struct{/*动态顺序表*/ int last,max;/*尾元下标和预留表长*/ DataType *data;/*动态数组的基址*/ }SeqList; SeqList *Init(){/*初始化*/ SeqList * L = new SeqList; L-data = new DataType [INIT]; for(int i=0;iINIT;i++){ L-data[i]= *(new DataType); } if(!L-data){cout内存不足!;return 0;} L-max=INIT-1; L-last=-1; return L;/*成功,置空表*/ }/*调用格式为:SeqList *L=Init();*/ void Out(SeqList *L){/*输出*/ int i;cout(; if(L-last-1)coutL-data[0];/*输出首元*/ for(i=1;i=L-last;i++) cout,L-data[i];/*输出其它元素*/ cout); }/*输出形式为:(a1,a2,…,an)*/ int len(SeqList *L){//求表长 return L-last+1;} int Insert(SeqList *L,int i,DataType x){/*插入*/ int j; if(i1||iL-last+2){cout位置错!; return 0;} if(L-last+1==L-max){ L-max+=INC; L-data=(DataT

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档