第十五周 项目1 排序(插入排序)
2015-12-14 16:11
211 查看
/* * 烟台大学计算机与控制工程学院 *文件名称:mian.cpp *作 者:王旭 *完成日期:2015年12月14日 *版 本 号:v1.0 * *问题描述:插入排序 * *输入描述:无 *程序输出:无 */
#include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType } RecType; //排序的记录类型定义 void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序 { int i,j; RecType tmp; for (i=1; i<n; i++) { tmp=R[i]; j=i-1; //从右向左在有序区R[0..i-1]中找R[i]的插入位置 while (j>=0 && tmp.key<R[j].key) { R[j+1]=R[j]; //将关键字大于R[i].key的记录后移 j--; } R[j+1]=tmp; //在j+1处插入R[i] } } 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"); InsertSort(R,n); printf("排序后:"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("\n"); return 0; }
相关文章推荐
- 使用FiddlerCore来测试你的WebAPI
- 项目1.2 希尔排序
- Android的SQLite
- 1011 A+B和C PAT
- (iOS消息推送原理) 详情
- BOM学习
- C# 读取Access出现“System.Transactions.Diagnostics.DiagnosticTrace”的类型初始值设定项引发异常。
- 记录Android开发的点点滴滴
- FMDB的简单使用
- Android --调启百度地图
- LINUX RHEL6.5字符界面安装图形化桌面
- RMI 实例
- archive成功了,但是在输出ipa时要求有账号密码
- 使用python语言结合beautifulsoup编写简单的网络爬虫
- 人脸识别中的Gallery和Probe
- 第十三周-Floyd算法
- 第十四周 项目一 验证二叉排序树相关算法
- Spring MVC 构建入门级 Web 应用程序
- Js操作表格-对表格单元格的添加删除修改
- 第十六周实践项目(1)—验证算法1冒泡排序