第十六周--数据结构--项目一--插入排序之折半插入排序
来源:互联网 发布:一建做题软件电脑版 编辑:程序博客网 时间:2024/05/17 19:17
/*
* 第十六周--数据结构--项目一--插入排序之折半插入排序
* Copyright (c) 2015, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp
* 作者:罗海员
* 完成日期:2015年12月29日
*
* 问题描述: 详情请见程序运行
* 程序输出:见运行结果
* 最终解释权归罗海员所有,详情咨询17862819100,邮箱:1540097205@qq.com
运行结果:
* 第十六周--数据结构--项目一--插入排序之折半插入排序
* Copyright (c) 2015, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp
* 作者:罗海员
* 完成日期:2015年12月29日
*
* 问题描述: 详情请见程序运行
* 程序输出:见运行结果
* 最终解释权归罗海员所有,详情咨询17862819100,邮箱:1540097205@qq.com
*/
#include <stdio.h>#define MaxSize 20typedef 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;}
运行结果:
0 0
- 第十六周--数据结构--项目一--插入排序之折半插入排序
- 第十六周--数据结构--项目一-- 插入排序之希尔排序
- 第十六周 项目一 (1) 插入排序之折半插入排序
- 第十六周项目2 折半插入排序
- 第十六周项目一----插入排序之直接插入排序
- 第十六周--数据结构--项目一-- 插入排序之直接插入排序
- 第十六周--数据结构--项目一-- 插入排序之显示显示插入过程
- 第十六周--数据结构--项目一-- 插入排序之排序中输出每一趟的中间结果
- 数据结构之 折半插入排序
- 第16周项目插入排序之折半插入排序
- 第十六周项目1--插入排序之直接插入排序
- 数据结构-折半插入排序
- [数据结构]折半插入排序
- 数据结构 折半插入排序
- 第十六周 项目1 验证算法 直接插入排序 折半插入排序
- 第十六周项目1—直接插入排序 折半插入排序
- 第十六周 项目一 (1) 插入排序之直接插入排序
- 数据结构-排序: 折半插入排序
- 跑批利器--示例
- 数据库高级查询题目集
- 利用一致性哈希水平拆分MySql单表
- Android Studio——PendingIntent的Flags
- iOS 中 SystemSoundID(播放系统声音) 和 AVAudioRecorder (录音)
- 第十六周--数据结构--项目一--插入排序之折半插入排序
- 程序员逆袭应具备的7大技能
- string to int
- 从大数据菜鸟走上大师的历程
- integer.valueof()和integer.parseint区别
- 跑批利器--读取文件
- 字符串下16进制转换成int类型
- 大数据修炼之路
- myeclipse 8.6 安装svn插件