折半插入排序
来源:互联网 发布:淘宝怎样联系客服 编辑:程序博客网 时间:2024/05/13 19:57
折半插入排序算法及测试
package sort;
//折半插入排序
public class BinaryInsertSortTest {
public static int count = 0;
public static void main(String[] args) {
int[] data = new int[] { 5, 3, 6, 2, 1, 9, 4, 8, 7 };
print(data);
binaryInsertSort(data);
print(data);
}
public static void binaryInsertSort(int[] data) {
for (int i = 1; i < data.length; i++) {
if (data[i] < data[i - 1]) {
// 缓存i处的元素值
int tmp = data[i];
// 记录搜索范围的左边界
int low = 0;
// 记录搜索范围的右边界
int high = i - 1;
while (low <= high) {
// 记录中间位置
int mid = (low + high) / 2;
// 比较中间位置数据和i处数据大小,以缩小搜索范围
if (data[mid] < tmp) {
low = mid + 1;
} else {
high = mid - 1;
}
}
//将low~i处数据整体向后移动1位
for (int j = i; j > low; j--) {
data[j] = data[j - 1];
}
data[low] = tmp;
print(data);
}
}
}
public static void print(int[] data) {
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + "\t");
}
System.out.println();
}
}
- 插入排序--折半插入
- 插入排序--折半插入
- 排序:折半插入排序
- 排序--折半插入排序
- 排序-折半插入排序
- 【插入排序】折半插入排序
- 插入排序--折半插入排序
- 折半插入排序,插入排序
- 折半插入排序
- 折半插入排序
- 折半插入排序算法
- 折半插入排序算法
- 折半插入排序 练习
- 折半插入排序
- 折半插入排序
- 折半插入排序
- 折半插入排序 Java
- 折半插入排序算法
- Java 并发
- Java中static块的本质
- Date、String、Calendar类型之间的转化
- POJ 3228 最小生成树的应用
- Cocos2dx-3.x在lua中ccb动画完成回调setAnimationCompletedCallback修改方法(二)
- 折半插入排序
- 使用Vitamio打造自己的Android万能播放器
- javascrip面向对象的设计
- eclipse的快捷键(Alt+/)失效
- 两种方式对彩色和灰度图像实现滤波
- IOS学习之——导航2 模态的原理和实现
- 24. Swap Nodes in Pairs Leetcode Python
- Android Sensor系统剖析(4.0)(下)
- Android 常用颜色值