博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
折半插入排序
阅读量:4609 次
发布时间:2019-06-09

本文共 856 字,大约阅读时间需要 2 分钟。

1、先找出要插入点的位置

2、在移动位置

1 #include 
2 using namespace std; 3 void BInsertSort(int *arr,int length) 4 { 5 for (int i = 1; i <= length - 1;i++) {
//从第一个元素开始插入 6 int low = 0; int high = i-1; int key = arr[i]; 7 if (arr[i]
key) {11 high = mid - 1;12 }13 else {14 low = low + 1;15 }16 }17 }18 //移位19 for (int j = i-1; j >=low;j--) {20 arr[j+1] = arr[j];21 }22 arr[low] = key;//也可以为arr[high+1]=key23 }24 }25 int main()26 {27 int arr[10] = {
9,2,1,4,5,3,7,6,8,0};28 BInsertSort(arr,10);29 for (int i = 0; i < 10;i++) {30 cout << arr[i] << " ";31 }32 return 0;33 }

 

 

转载于:https://www.cnblogs.com/dingou/p/5785503.html

你可能感兴趣的文章
工作学习常识1
查看>>
Eclipse插件项目中读取文件
查看>>
jquery定义链接跳转的高亮显示
查看>>
CheckListBox怎样得到多选值?
查看>>
三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)
查看>>
Vijos P1243 生产产品 (单调队列优化DP)
查看>>
mysql 数据表操作 目录
查看>>
iOS常用第三方库 -转
查看>>
Android布局学习
查看>>
jQuery中事件绑定与解绑
查看>>
js原生Ajax的封装与使用
查看>>
周总结6
查看>>
PostgreSQL 务实应用(二/5)插入冲突
查看>>
一种公众号回复关键词机制
查看>>
java多线程入门学习(一)
查看>>
基于 Web 的 Go 语言 IDE - Wide 1.1.0 公布!
查看>>
nyist oj 138 找球号(二)(hash 表+位运算)
查看>>
Movidius软件手册阅读 2017-09-04
查看>>
ytu 1910:字符统计(水题)
查看>>
201671030110 姜佳宇 实验三作业互评与改进
查看>>