插入排序之二分法插入排序
2017-09-08 10:00
162 查看
二分插入排序
二分法插入排序是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left<right,然后再把第i个元素前1位与目标位置之间的所有元素后移,再把第i个元素放在目标位置上。
二分法插入排序是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left<right,然后再把第i个元素前1位与目标位置之间的所有元素后移,再把第i个元素放在目标位置上。
//二分插入排序 public void sortIntegers(int[] A) { // Write your code here int i,j,x; int n=A.length; for(i=1;i<n;i++){ x=A[i]; int left=0; int right=i-1; while(left<=right){ int mid=(left+right)/2; if(x<A[mid]){ right=mid-1; }else{ left=mid+1; } } for(j=i-1;j>=left;j--){ A[j+1]=A[j]; } A[left]=x; } }
相关文章推荐
- 二分法插入排序
- 二分法插入排序
- Java排序算法之二分法插入排序
- 八大排序之二分法插入排序
- 二分法插入排序
- 二分法插入排序
- 插入排序-二分法-C++实现
- 插入排序之二分法插入排序
- 排序:插入排序以及其改进:二分法插入
- 数据结构与算法之二分法插入排序
- java排序——选择、插入、冒泡、二分法
- 排序算法二:二分法插入排序
- 数据结构各种排序法及核心思想(冒泡、鸡尾酒、选择、插入、二分法、希尔、堆、归并、快速)
- 直接插入排序
- 冒泡、插入、选择排序及其改进
- 【8086汇编】基础排序之直接插入排序
- 插入排序-Shell排序
- headfirst插入排序
- 排序总结---插入排序
- java几种排序简单实现(快速排序,冒泡排序,直接插入排序)