作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章java实现折半排序算法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public
static
void
halfSort(
int
[] array) {
int
low, high, mid;
int
tmp, j;
for
(
int
i =
1
; i < array.length; i++) {
tmp = array[i];
low =
0
;
high = i -
1
;
while
(low <= high) {
mid = low + (high - low) /
2
;
if
(array[mid] > tmp)
high = mid -
1
;
else
low = mid +
1
;
}
for
(j = i -
1
; j > high; j--) {
array[j +
1
] = array[j];
}
array[high +
1
] = tmp;
}
}
|
折半排序算法示意图:
以上所述就是本文的全部内容了,希望能够对大家学习java折半排序算法有所帮助.
最后此篇关于java实现折半排序算法的文章就讲到这里了,如果你想了解更多关于java实现折半排序算法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!