数据结构-实验四顺序表排序----算法设计题2 A3
合 肥 学 院 学 生 实 验 报 告 专业计算机科学与技术 姓名 学号
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
间的关系: recordlist*rel()
实验日期2010年3月30 实验地点 7#601 成绩
实验题目 实验四顺序表排序----算法设计题2
voidsort(recordlist*L)
实验目的 问题分析:实现对顺序表中的排序工作,首先必须建立顺序
main()表并输入顺序表数据,然后通过折半插入进行排序
voiddisplay(recordlist*G)
实验基本原理概要分析:本程序设计要包括建立空顺序表函数;输入
数据的函数;关键是在怎样进行折半插入处理来达到排序的结果。
main()
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图: 测试数据:
3个数据:3 3 1 开始5个数据 1 2 3 4 5
5个数据 5 4 3 2 1 i=05个数据 6 7 8 9 4
44 否
low>high
void sort(recordlist *L)//对顺序表进行排序 m=(low+high)/2实验基本步骤 详细设计: {int low=1,high,i=0,j,m,n; 是
则high+1就是要 n=L->length; 算法设计: 插入的位置 for(i=1;i<=n;i++) 判断data[0]是定义顺序表数据类型 high=m-1否大于是data[m] {L->data[0].key=L->data[i].key; typedef struct{ 是
high=i-1; int key; //关键字(定为整型变量) 否将数据插入到位置 //这里可以继续定义其他变量 while(low<=high) low=m+1
{m=(low+high)/2;
if(L->data[0].key<=L->data[m].key) }recordtype;
high=m-1;
elselow=m+1; typedef struct{ 定义顺序表数据类型 结束
} recordtype data[maxlen+1];
for(j=i;j>high+1;j--) int length;
L->data[j].key=L->data[j-1].key; }recordlist;
L->data[high+1].key=L->data[0].key; 指导教师: 日期: 年 月 日 }}
合 肥 学 院 学 生 实 验 报 告
调试分析: 使用说明:
软件界面如下所示:
该软件按为在dos下运行的软件,第一步输入顺序表中要输入多少数据,然
由于开始为考虑到将要插入的数据与中间值相等的情况,不能得到正后会提示一次输入数据,然后系统自己自动折半排序,然后输出正确的结确结果。还有开始时为考虑到+1,-1的情况,所以出现了输出错误。 果。
测试结果:
教师签字: 日期: 年 月 日