算法--冒泡,选择,二分
2016-08-01 18:38
148 查看
//数组排序之冒泡排序: //相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 //冒泡排序代码 public static void bubbleSort(int[] arr){ for (int x = 0; x < arr.length - 1; x++) { for (int y = 0; y < arr.length - 1 - x; y++) { if (arr[y] > arr[y + 1]) { int temp = arr[y]; arr[y] = arr[y + 1]; arr[y + 1] = temp; } } } }
//数组排序之选择排序: //从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处 public static void selectSort(int[] arr){ for(int x=0; x<arr.length-1; x++){ for(int y=x+1; y<arr.length; y++){ if(arr[y] <arr[x]){ int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } }
// 二分查找 public static int getIndex(int[] arr, int value) { // 定义最大索引,最小索引 int max = arr.length - 1; int min = 0; // 计算出中间索引 int mid = (max + min) / 2; // 拿中间索引的值和要查找的值进行比较 while (arr[mid] != value) { if (arr[mid] > value) { max = mid - 1; } else if (arr[mid] < value) { min = mid + 1; } // 加入判断 if (min > max) { return -1; } mid = (max + min) / 2; } return mid; }
相关文章推荐
- 三大算法--二分选择冒泡
- 常用的数据排序算法图解(冒泡,选择二分...)
- StringBuffer和一些算法 冒泡 二分 选择
- (三)Java数据结构和算法——冒泡、选择、插入排序算法
- 黑马程序员——Java基础--冒泡、选择、二分查找
- 算法之基本排序(冒泡,选择,插入)
- 二分,插入,选择,冒泡,希尔排序
- Rhyme/Java 选择问题算法SelectionProblem(冒泡与选择性插入篇)
- 算法分析之冒泡,快速,选择排序
- php四种基础算法:冒泡,选择,插入和快速排序法
- 排序:简单排序算法实现:冒泡,选择,插入
- php四种基础算法:冒泡,选择,插入和快速排序法
- 【算法基础】冒泡、选择、插入排序(三种基本排序)
- 【算法初级】排序--“冒泡”和“选择”对比
- 算法.冒泡和二分查找
- java 中冒泡、二分、快速算法详解
- 数据结构与算法之基础排序(冒泡/插入/选择)<十>
- 排序算法:冒泡、选择、二分查找
- Python里算法(冒泡 选择 插入 快速)
- 冒泡、选择、插入、二分插入、希尔、堆、归并和基数排序算法小结