插入类------二分插入排序
2014-11-03 22:34
176 查看
package com.sksort; public class insert_Binary { public static void main(String[] args) { int a[] = {5,5,4,5,2,1,8,0,5,9}; insert_Binary s = new insert_Binary(); s.sort(a); s.show(a); } public void sort(int a[]) { int i, j ,temp, low, high, mid = 0; for (i = 1; i < a.length; i++) if (a[i] < a[i-1]) { temp = a[i]; low = 0; high = i - 1; while (low < high) { mid = (low + high) / 2; if(temp == a[mid]){ low = mid+1; break; } else if (temp > a[mid]) low = mid+1 ; else high = mid-1 ; } for (j = i; j > low; j--) a[j] = a[j-1]; a[low] = temp; } } public void show(int a[]) { for (int i = 0; i < a.length; i++) { if (i == 0) System.out.print(a[i]); else System.out.print(" " + a[i]); } System.out.println(); } }
相关文章推荐
- 插入排序 二分查找插入排序
- Java使用二分插入排序竟然和直接插入排序速度相差不多
- 内部排序之插入排序(直接插入排序,二分插入排序,希尔插入排序)
- 排序法系列之二----插入排序(直接插入,希尔排序,二分插入,链表插入排序)的C++代码实现
- 三种插入排序的分析(直接插入-二分插入-Shell排序)
- 直接插入排序、二分插入排序、希尔排序、冒泡排序与简单选择排序
- 插入排序 二分插入排序 学习
- 用【改过的2分】做的【2分插入排序】。。(C#) 速度绝对快于【原插入或原二分插入排序】
- 数据结构图文解析之:直接插入排序及其优化(二分插入排序)解析及C++实现
- 排序(二)插入排序、插入改进——二分插入排序、插入改进——希尔排序
- 三种常用的插入排序算法--直接插入排序、二分插入排序、希尔排序
- 数据结构-排序算法之插入排序(直接插入,二分插入,希尔,表插入)
- 常见排序集合(冒泡排序,选择排序,直接插入排序,二分插入排序,快速排序,希尔排序,归并排序)
- 插入排序和二分插入排序
- 插入排序实现--直接实现,二分插入实现
- 插入排序优化:简单插入排序->二分查找插入排序->二路插入排序->shell插入排序
- Python使用二分插入排序竟然比直接插入排序快99倍!
- 插入排序——直接插入排序、二分插入排序、希尔排序
- 可视化的排序五:插入排序、二分插入排序和希尔排序
- C实现三种插入排序-简单插入排序、二分插入排序、希尔插入排序