二分插入排序和二分查找
来源:互联网 发布:yoo桌面软件 编辑:程序博客网 时间:2024/05/16 11:19
1.二分插入排序
二分插入排序其实是直接插入排序的改进,在前面已排好的队列中,以二分查找的形式插入待排序数据
2.二分查找
在有序序列中查找值是否存在,是将序列不断分成两部分进行查找
下面直接贴代码:
#include <iostream>//二分插入排序void BInsertSort(int *a,int c){for(int i=1;i<c;i++){int key=a[i];int left=0,right=i-1;while(left<=right){int middle=(left+right)/2;if(key>a[middle])left=middle+1;elseright=middle-1;}//此时left所在位置为要插入的位置for(int j=i;j>left;j--)a[j]=a[j-1];a[left]=key;}}//二分查找int BSearch(int *a,int tar,int length){int left=0,right=length-1,middle;while(left<=right){middle=(left+right)/2;if(tar>a[middle])left=middle+1;else if(tar<a[middle])right=middle-1;elsereturn middle;}return -1;}int main(){int a[10]={9,4,10,5,8,7,3,6,1,2};int c=10;BInsertSort(a,c);for(int i=0;i<c;i++){printf("%d\n",a[i]);}int b=BSearch(a,9,c);printf("%d\n",b);return 0;}
0 0
- 二分插入排序和二分查找
- 二分查找插入排序
- 二分查找插入排序
- 插入排序 二分查找
- 二分查找插入排序
- 二分查找插入排序
- 二分查找和插入
- 二分查找和二分排序
- 插入排序+二分查找
- 插入排序与二分查找
- 插入排序之二分查找
- 插入排序 二分查找插入排序
- 二分排序和查找
- 排序和二分查找
- 排序模板链表的插入存储和二分查找
- 冒泡排序,插入排序,二分查找
- [整理]插入排序以及二分查找排序
- 二分插入排序 和 二分检索
- Hibernate映射学习--七种映射关系解析
- Laravel 模板引擎(Blade)原理简析
- cin cout
- Java汉字验证码
- 【bzoj3083】【遥远的国度】【树链剖分】
- 二分插入排序和二分查找
- 软件测试目的
- 数据结构学习笔记
- Android Email 格式检测
- iOS- 详解文本属性Attributes
- Linux下安装Erlang编程环境
- 数据结构——数组与广义表篇——猴子选大王(数组版)——v2.0
- 日志库EasyLogging++学习系列(4)—— 格式说明符
- 移植Linux3.0内核到fl2440开发板