网站大量收购独家精品文档,联系QQ:2885784924

可变长顺序表设计.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
题目:可变长顺序表设计 基本要求: (1)使用动态数组结构。 (2)顺序表的操作包括:初始化、求数据元素个数、插入、删除、取数据元素,编写每个操作的函数。 (3)设计一个测试主函数。 测试数据:以用户随机输入的元素为原始数据。 算法思想:可变长顺序表的设计,主要是利用动态数组结构的设计方法。动态数组是指用动态内存分配方法定义的数组,他中的元素的个数是在用户申请动态数组空间时才确定的。此外,用键盘输入顺序表的元素,进行建立顺序表。依次调用初始化、求数据元素个数,插入、删除和取数据元素并输出新的顺序表。 模块划分:Main.c文件。Main.c文件包括以下函数。 包括:初始化,求数据元素个数,插入,删除,取数据元素。 void Initiate(SeqList *s,int max) 函数:其功能是用于顺序表的初始化。 int ListLength(SeqList *L) 函数:其功能是用于求顺序表的数据元素个数。 int Insert(SeqList *s) 函数:其功能是用于顺序表的插入。 int Delete(SeqList *s) 函数:其功能是用于顺序表的删除。 int getdata(SeqList *s) 函数:其功能是用于函数的获取元素 void main()函数:主函数。其功能建立顺序表并调用以上函数实现问题要求。 数据结构: 1.顺序表结构体定义: typedef struct { int *str; int Length; }SeqList; 2.动态数组 动态申请空间: s-str=(int *)malloc(sizeof(int)*max); 源程序: #includestdio.h #includemalloc.h #includestdlib.h typedef struct { int *str; int Length; }SeqList; void main() { void Initiate(SeqList *s,int max);//函数声明 int ListLength(SeqList *s); int Insert(SeqList *s); int Delete(SeqList *s); int getdata(SeqList *s); void print(SeqList *s,int); SeqList L; int x,max; printf(* * * * * * * * * * * *可变长顺序表设计* * * * * * * * * * * * *\n); printf(\n请输入所创建顺序表的长度:); scanf(%d,max); printf(请输入创建的顺序表的值:); Initiate(L,max); printf(\n); leep: printf(\n***1.数据元素个数***\n); printf(***2.数据元素插入***\n); printf(***3.数据元素删除***\n); printf(***4.取数据元素***\n); printf(***0.退出***); printf(\n***输入序号选择程序功能:\n); scanf(%d,x); if(x==1) { printf(\n数据元素个数是:%d\n,ListLength(L));goto leep; } if(x==2) { Insert(L); goto leep; } if(x==3) { Delete(L); goto leep; } if(x==4) { getdata(L); goto leep; } if(x==0) printf(\n谢谢使用!\n); } void Initiate(SeqList *s,int max)//初始化顺序表 { int i,x; s-str=(int *)malloc(sizeof(int)*max);//动态申请空间 s-Length=max; for(i=0; imax;i++) { scanf(%d,x); s-str[i]=x; } } int ListLength(SeqList *L) { return L-Length; } int Insert(SeqList *s) { int i,j,x; printf(\n请输入要插入的位置及数据: ); scanf(%d %d,j,x); if(j0) { printf(参数不合法!\n); return 0; } else { realloc(s-st

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档