第十六周--项目一(3)
2016-12-16 10:42
274 查看
*计算机控制工程学院 *班级:计156-2 *姓名:陈飞 *问题及代码: #include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType } RecType; //排序的记录类型定义 void InsertSort1(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序 { int i,j,low,high,mid; RecType tmp; for (i=1; i<n; i++) { tmp=R[i]; low=0; high=i-1; while (low<=high) { mid=(low+high)/2; if (tmp.key<R[mid].key) high=mid-1; else low=mid+1; } for (j=i-1; j>=high+1; j--) R[j+1]=R[j]; R[high+1]=tmp; } } int main() { 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"); InsertSort1(R,n); printf("排序后:"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("\n"); return 0; } 运行结果:
相关文章推荐
- 第十六周 项目一(6) 选择排序之堆排序
- getchar()的使用
- SQL语句(增删改查)
- RNN的四种代表性扩展—Attention and Augmented Recurrent Neural Networks(二)
- 网站架构演化----读书笔记
- 前端开发必须知道的JS(一) 原型和继承
- sublime添加到右键的注册表文件
- 【Leetcode 434. Number of Segments in a String】
- 第十六周项目3-归并排序算法的改进
- 发布java项目或者web项目修改工程名字的问题
- 移动端学习
- Cordova - fileTransfer插件的使用详解(实现文件上传、下载)
- yolo v2微调
- Curl移植笔记
- Rails中嵌套表单的解决:模型关系是一对一和一对多的情况
- 项目 3 - 是否二叉排序树 ?
- JS返回只包含数字类型的数组实例分析
- 整理----通过/proc/diskstat 计算android I/O数据
- Laravel框架表单验证详解
- 第十四周项目1(3)--验证二叉排序树相关算法