插入排序--折半插入
2014-03-18 16:50
190 查看
package sort; /** * 直接插入排序 * * @author lin * */ public class Select { static int a[] = {5,3,6,7,3,2,9,6,3,6}; public static void main(String[] args) { sort(a); print(a); } public static void sort(int a[]){ for(int i = 1; i < a.length ; i++){ //当整体向后移时,保证a[i]的值不会丢失 int tmp = a[i]; int low = 0; int high = i -1; while(low <= high){ int mid = (low + high)/2; if(tmp > a[mid]){ low = mid + 1; }else{ high = mid -1; } } //将low到i处的所有元素向后整体移一位 for(int j = i; j > low; j--){ a[j] = a[j-1]; } a[low] = tmp; } } public static void print(int a[]){ for(int i = 0; i < a.length; i ++) System.out.format("%d ", a[i]); } }
相关文章推荐
- 折半(二分)插入排序
- 插入排序:表折半插入
- 直接插入排序与折半排序
- 排序算法--插入排序(直接插入排序、折半插入、shell排序)的java实现
- 排序大全【各种排序】:直接插入,折半插入,冒泡,快排,简单选择,堆排序,归并排序
- 直接插入排序和折半插入实现
- C语言排序实例(选择、冒泡、插入、折半、快速)
- C#插入排序和折半排序算法
- 数据结构与算法---直接折半插入排序
- 七种排序(直接插入、折半插入、希尔、起泡、快速、简单选择、堆排序)
- 插入排序:表折半插入
- 冒泡,插入,折半插入,希尔,快速,简单选择排序的源代码总结
- (1.3.3)插入排序:直接插入、交换插入、折半插入
- 第16周项目1-验证算法(1)直接插入排序 折半
- C语言排序实例(选择、冒泡、插入、折半、快速)
- 七种排序(直接插入、折半插入、希尔、起泡、快速、简单选择、堆排序)
- 浅析各类排序算法(四) 插入类排序之直接插入排序及折半插入,2-路插入算法
- 插入类排序——折半插入
- 冒泡 ,插入,折半插入,希尔,快速,简单选择等排序源码
- 基本排序(二)插入排序(直接插入、Shell、折半)