排序算法-插入排序_二分法插入排序
来源:互联网 发布:苹果为什么4g网络很慢 编辑:程序博客网 时间:2024/04/28 13:43
package 插入排序;/** * 二分法插入排序(按二分法找到合适位置插入) 【稳定】 * * 基本思想:二分法插入排序的思想和直接插入一样,只是找合适的插入位置的方式不同,这里是按二分法找到合适的位置,可以减少比较的次数。 */public class 二分法插入排序 { public static void main(String[] args) { int[] a = { 49, 38, 65, 97, 76, 13, 27}; System.out.println("排序前:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } sort(a);// 二分法插入排序 System.out.println(); System.out.println("排序后:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } } public static void sort(int[] a) { for (int i = 0; i < a.length; i++) { int temp = a[i]; int left = 0; int right = i - 1; int mid = 0; while (left <= right) { mid = (left + right) / 2; if (temp < a[mid]) { right = mid - 1; } else { left = mid + 1; } } for (int j = i - 1; j >= left; j--) { a[j + 1] = a[j]; } if (left != i) { a[left] = temp; } } }}
运行结果如下:
排序前:49 38 65 97 76 13 27 排序后:13 27 38 49 65 76 97
0 0
- 排序算法-插入排序_二分法插入排序
- 排序算法 -- 二分法插入排序
- 排序算法:二分法插入排序
- 快速排序,二分法排序,插入排序算法
- 插入排序二分法插入排序
- 算法_插入排序
- 排序算法——二分法插入排序
- Java排序算法之二分法插入排序
- 排序算法二:二分法插入排序
- 排序算法-插入排序_希尔排序
- 二分法插入排序
- 二分法插入排序
- 二分法插入排序代码
- 二分法插入排序
- 二分法插入排序
- 二分法插入排序
- 二分法插入排序
- 二分法插入排序
- hdu5113Black And White dfs暴搜 +剪枝
- Static块(静态代码块)
- java分页
- 【挖坑】 2012 Asia Tianjin Regional Contest
- 遥感影像序列生成视频
- 排序算法-插入排序_二分法插入排序
- Top 和 LIMIT
- 利用richtextbox做的c#简易编辑软件,
- DOM中元素节点、属性节点、文本节点的理解
- poj--1659
- python 重命名当前文件夹下所有文件
- 天声人語 20151111 臨時国会を開かないのか
- HttpServlet
- DDR引发的问题(下)