二分插入排序

来源:互联网 发布:日本女孩纸发型知乎 编辑:程序博客网 时间:2024/06/08 11:11

二分插入排序也是一种插入排序,原理和插入排序是一样的,但是之所以二分是快速查找出要插入的位置

下面附上代码和图示解析

#include"iostream"#include"cstdio"using namespace std;int a[]={0,12,324,5,6768,78,79,7};int length=0;int main(){length=sizeof(a)/sizeof(int);for(int i=2;i<=length-1;i++){a[0]=a[i];int left=1;int right=i-1;int mid=0;while(left<=right){mid=(left+right)/2;if(a[mid]>a[0]){right=mid-1;}else{left=mid+1;}}for(int j=i;j>left;j--){a[j]=a[j-1];}a[left]=a[0];}for(int i=1;i<=length-1;i++){printf("%d ",a[i]);}return 0;}


1 0
原创粉丝点击