首页 > 编程语言 > 详细

二分法排序

时间:2017-12-13 22:44:45      阅读:254      评论:0      收藏:0      [点我收藏+]

由于上篇---八大排序法,进而联系起二分法排序,所以在这里补充一个比较经典的排序法---二分法排序;

逻辑相对简单,所以直接上代码

package com.sinolife.mtrs.apply.controller;

import java.util.Arrays;

/**
* @author delin Li
* @version createTime:2017-12-7下午04:10:37
* @Description
*/
public class TestSort {

/**
* @param args
*/
public static void main(String[] args) {
int[] ins = {1,3,53,5,7,81,2,5,71,9};
binarySort(ins);//二分法排序
print(ins);
}

public static void print(int[] data) {
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
}
public static void binarySort(int[] arr){
for(int i = 1;i<arr.length;i++){
int temp = arr[i];
int low = 0;
int top = i-1;
int mid;
while(low<=top){// 定位
mid = (top+low)/2;
if(arr[mid]>temp){
top = mid-1;
}else{
low = mid+1;
}
}
for(int j=i;j>low;j--){// 移动数组
arr[j]= arr[j-1];
}
arr[low] = temp;// 在找到的位置插入
}
}
}

如有错误,希望朋友们能指出来。

二分法排序

原文:http://www.cnblogs.com/lidelin/p/8034302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!