可变长顺序表设计

可变长顺序表设计

ID:16009116

大小:183.00 KB

页数:6页

时间:2018-08-07

可变长顺序表设计_第1页
可变长顺序表设计_第2页
可变长顺序表设计_第3页
可变长顺序表设计_第4页
可变长顺序表设计_第5页
资源描述:

《可变长顺序表设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、题目:可变长顺序表设计基本要求:(1)使用动态数组结构。(2)顺序表的操作包括:初始化、求数据元素个数、插入、删除、取数据元素,编写每个操作的函数。(3)设计一个测试主函数。测试数据:以用户随机输入的元素为原始数据。算法思想:可变长顺序表的设计,主要是利用动态数组结构的设计方法。动态数组是指用动态内存分配方法定义的数组,他中的元素的个数是在用户申请动态数组空间时才确定的。此外,用键盘输入顺序表的元素,进行建立顺序表。依次调用初始化、求数据元素个数,插入、删除和取数据元素并输出新的顺序表。模块划分:M

2、ain.c文件。Main.c文件包括以下函数。包括:初始化,求数据元素个数,插入,删除,取数据元素。voidInitiate(SeqList*s,intmax)函数:其功能是用于顺序表的初始化。intListLength(SeqList*L)函数:其功能是用于求顺序表的数据元素个数。intInsert(SeqList*s)函数:其功能是用于顺序表的插入。intDelete(SeqList*s)函数:其功能是用于顺序表的删除。intgetdata(SeqList*s)函数:其功能是用于函数的获取元素v

3、oidmain()函数:主函数。其功能建立顺序表并调用以上函数实现问题要求。数据结构:1.顺序表结构体定义:typedefstruct{int*str;intLength;}SeqList;2.动态数组动态申请空间:s->str=(int*)malloc(sizeof(int)*max);源程序:#include#include#includetypedefstruct{int*str;intLength;}SeqList;voidmain(

4、){voidInitiate(SeqList*s,intmax);//函数声明intListLength(SeqList*s);intInsert(SeqList*s);intDelete(SeqList*s);intgetdata(SeqList*s);voidprint(SeqList*s,int);SeqListL;intx,max;printf("************可变长顺序表设计*************");printf("请输入所创建顺序表的长度:");scanf("%d

5、",&max);printf("请输入创建的顺序表的值:");Initiate(&L,max);printf("");leep:printf("***1.数据元素个数***");printf("***2.数据元素插入***");printf("***3.数据元素删除***");printf("***4.取数据元素***");printf("***0.退出***");printf("***输入序号选择程序功能:");scanf("%d",&x);if(x==1){pri

6、ntf("数据元素个数是:%d",ListLength(&L));gotoleep;}if(x==2){Insert(&L);gotoleep;}if(x==3){Delete(&L);gotoleep;}if(x==4){getdata(&L);gotoleep;}if(x==0)printf("谢谢使用!");}voidInitiate(SeqList*s,intmax)//初始化顺序表{inti,x;s->str=(int*)malloc(sizeof(int)*max);//

7、动态申请空间s->Length=max;for(i=0;istr[i]=x;}}intListLength(SeqList*L){returnL->Length;}intInsert(SeqList*s){inti,j,x;printf("请输入要插入的位置及数据:");scanf("%d%d",&j,&x);if(j<0){printf("参数不合法!");return0;}else{realloc(s->str,(s->Length

8、+1)*sizeof(int));//新结点申请空间for(i=s->Length-1;i>=j-1;i--){s->str[i+1]=s->str[i];}s->str[j-1]=x;s->Length++;printf("新的顺序表是:");for(i=0;iLength;i++)printf("%d",s->str[i]);printf("");return1;}}voidprint(SeqList*s,intmax){inti;for(i=0;i<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。