数据结构上机实验报告10.1和10.4
更新时间:2023-05-19 05:37:01 阅读量: 实用文档 文档下载
10.1 编写一个程序实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。10.4 编写一个程序实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
数据结构上机实验报告(实验六)
课程名称:数据结构教程
指导教师:
上机实践名称:排序
一、 实验思路
10.1 编写一个程序实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。
10.4 编写一个程序实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
二、关键代码
#include <stdio.h>
#define MaxSize 15
typedef char InfoType[10];
typedef int KeyType;
typedef struct
{
KeyType key; InfoType data; 专业班级: 姓名: 学号:2
}RecType;
void InsertSort(RecType R[],int n)
{
int i,j,k; RecType tmp; for (i=1;i<n;i++) { tmp=R[i]; j=i-1; while (j>=0 && tmp.key<R[j].key) { } R[j+1]=tmp; printf("i=%d: ",i); 1 R[j+1]=R[j]; j--;
10.1 编写一个程序实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。10.4 编写一个程序实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
}
} for (k=0;k<n;k++) printf("%d ",R[k].key); printf("\n");
void main()
{
}
#include <stdio.h>
#define MaxSize 15
int n=10;//全局变量
int i1=1;//作为输出排序过程的计数变量
typedef char InfoType[10];
typedef int KeyType;
typedef struct
{
int i,n=10; RecType R[MaxSize]; KeyType a[]={9,8,7,6,5,4,3,2,1,0}; for(i=0;i<n;i++) R[i].key=a[i]; printf("排序前: "); for(i=0;i<n;i++) printf("%d ",R[i].key); printf("\n"); //排序 printf("排序过程:\n"); InsertSort(R,n); printf("排序后: "); for(i=0;i<n;i++) printf("%d ",R[i].key); printf("\n"); KeyType key; InfoType data; 2
10.1 编写一个程序实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。10.4 编写一个程序实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
void QuickSort(RecType R[],int s,int t)
{
}
3
int i=s,j=t; RecType tmp; if(s<t) { } tmp=R[s]; while(i!=j) { } R[i]=tmp; //输出这次的排序过程 if(i1<=10) { } for(int ii=0;ii<n;ii++) printf("\n"); QuickSort(R,s,i-1); QuickSort(R,i+1,t); printf("%d ",R[ii].key); printf("第%d步: ",i1); i1++; while(j>i && R[j].key>tmp.key) { } R[i]=R[j]; while(i<j && R[i].key<tmp.key) { } R[j]=R[i]; i++; j--;
10.1 编写一个程序实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。10.4 编写一个程序实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
{
int i;
RecType R[MaxSize];
KeyType a[]={6,8,7,9,0,1,3,2,4,5};
for(i=0;i<n;i++)
{
R[i].key=a[i];
}
//输出排序前顺序
printf("排序前: ");
for(i=0;i<n;i++)
printf("%d ",R[i].key);
printf("\n\n");
//快速排序
QuickSort(R,0,n-1);
printf("\n排序后: ");
for(i=0;i<n;i++)
printf("%d ",R[i].key);
printf("\n");
}
三、 运行结果
4
10.1 编写一个程序实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。10.4 编写一个程序实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。
四、 体会
通过编写了这两段程序,对直接插入排序和快速排序有了基本的了解和掌握,同时对编程有了更深的体会。
5
正在阅读:
数据结构上机实验报告10.1和10.405-19
高毒物品目录(卫生部卫法监发第142号)11-08
企业资源计划(ERP)期末论文08-17
党支部“抓党建促脱贫”述职材料09-27
宁阳二十一中运动会程序册2013秋04-25
300MW发电机励磁系统的异常处理09-23
43S喷码机操作简要09-23
福建省泉州第一中学2014届九年级英语毕业考试试题 - 图文11-07
红光治疗仪说明书 - 图文02-26
入党积极分子党课学习心得体会4篇02-25
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 数据结构
- 上机
- 实验
- 报告
- 10.1
- 10.4
- 自动化专业英语教程
- 我国农村税费改革面临的新问题及综合改革建议
- photoshop艺术字制作
- 中科院生化所往年录取信息
- 生物高考最后冲刺复习
- 广东省韶关市2013届高三4月第二次调研测试理综试题
- 用PS制作钻石文字教程
- 小学新标准英语五年级下册 教案设计
- 苏教版三年级上册全册语文补充习题答案
- 车间工人绩效考核表
- 大学物理-波的能量
- 生物质石墨烯内暖纤维问世 石墨烯产业应用前景可期
- 放松训练的研究现状与展望_王珊珊
- 影楼绩效考核系统
- 激光在军事上的应用
- 我的青春在路上(发百度)
- 统计自然语言处理-刘挺 NLP_4
- 化学药品工业企业法人单位按主营业务收入排序(前50家)
- EPDM/EVA无卤阻燃绝缘材料的开发与应用
- 仁爱英语七年级上册unit2Topic2 what does she look like