数据结构与算法分析课程设计

数据结构与算法分析课程设计

ID:25309792

大小:949.50 KB

页数:51页

时间:2018-11-19

数据结构与算法分析课程设计_第1页
数据结构与算法分析课程设计_第2页
数据结构与算法分析课程设计_第3页
数据结构与算法分析课程设计_第4页
数据结构与算法分析课程设计_第5页
资源描述:

《数据结构与算法分析课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构与算法分析课程设计*******大学《数据结构与算法分析》课程设计题目:数据结构上机试题学生姓名:学号:专业:信息管理与信息系统班级:指导教师:2014年04月50数据结构与算法分析课程设计目录一、顺序表的操作2【插入操作原理】2【删除操作原理】2【NO.1代码】3【运行截图演示】7二、单链表的操作10【创建操作原理】10【插入操作原理】10【删除操作原理】10【NO.2代码】11【运行截图演示】20三、顺序栈的操作25【数值转换原理】25【NO.3代码】26【运行截图演示】30四、查找

2、算法32【顺序查找原理】32【折半查找原理】32【NO.4代码】33【运行截图演示】38五、排序算法40【直接插入排序原理】40【快速排序原理】40【NO.5代码】41【运行截图演示】4650数据结构与算法分析课程设计一、顺序表的操作(1)插入元素操作:将新元素x插入到顺序表a中第i个位置;(2)删除元素操作:删除顺序表a中第i个元素。【插入操作原理】线性表的插入操作是指在线性表的第i-1个数据元素和第i个数据元素之间插入一个新的数据元素,就是要是长度为n的线性表:变成长度为n+1的线性表:数据

3、元素和之间的逻辑关系发生了变化。(其【插入原理】在课本P23的算法2.3有解释)【删除操作原理】反之,线性表的删除操作是使长度为n的线性表:变成长度为n-1的线性表:数据元素、和之间的逻辑关系发生变化,为了在存储结构上放映这个变化,同样需要移动元素。(其【删除原理】在课本P24的算法2.4有解释)50数据结构与算法分析课程设计【NO.1代码】#include#defineMAX100typedefintdatatype;typedefstruct{datatypedata[MA

4、X];intlist;}sequenlist;/*顺序表*/intmain(){intinsert(sequenlist*L,intx,inti);intdeletee(sequenlist*L,inti);intinput(sequenlist*L);intoutput(sequenlist*L);sequenlists,*p=&s;intindata,inlocate,deletedx;input(p);printf("请输入要插入的数:");scanf("%d",&indata);prin

5、tf("请输入要插入的位置:");50数据结构与算法分析课程设计scanf("%d",&inlocate);insert(p,indata,inlocate);printf("插入后的数据:");output(p);printf("请输入要删除的位置:");scanf("%d",&deletedx);deletee(p,deletedx);printf("删除后的数据:");output(p);return0;}intoutput(sequenlist*L){inti;for(i=0;i<=L-

6、>list;i++)printf("%d",L->data[i]);printf("");return(1);}intinput(sequenlist*L){inti;50数据结构与算法分析课程设计printf("请输入原始数据个数:");scanf("%d",&(L->list));L->list--;printf("请输入原始数据:");for(i=0;i<=L->list;i++)scanf("%d",&(L->data[i]));printf("原始数据为:");output(L

7、);return(1);}intinsert(sequenlist*L,intx,inti){intj;if(((*L).list)>=MAX-1){printf("overflow");return0;}else{if((i<1)

8、

9、(i>((*L).list)+1)){printf("error");50数据结构与算法分析课程设计return0;}else{for(j=L->list;j>=i-1;j--)L->data[j+1]=L->data[j];L->data[i-1]=x;L-

10、>list++;}}return(1);}intdeletee(sequenlist*L,inti)/*定义删除函数*/{intj;if((i<1)

11、

12、(i>(L->list)+1)){printf("error");return0;}else{for(j=i;j<=L->list;j++)L->data[j-1]=L->data[j];50数据结构与算法分析课程设计L->list--;}return(1);}【运行截图演示】①、如下面的运行截图所示,当输入的线性表长度设置为12的时候,该线

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

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

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