二分查找+二分排序(快速排序)
来源:互联网 发布:华为windows平板 编辑:程序博客网 时间:2024/06/05 17:42
public class Main {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[] a = new int[]{3,2,5,1,6,8,2,4,1,0};quicksort(a, 0, a.length-1);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println("\n"+findVal(a,8));}static int findVal(int[] a,int val){int h = a.length-1;int l = 0;while(l<=h){//<=很重要int m = (h+l)/2;if(a[m]==val) return m;else if(a[m]>val)h = m-1;else l = m+1;}return -1;}static void quicksort(int[] a, int l, int h) {if(l < h) {int loc = sort(a, l, h);quicksort(a, l, loc - 1);quicksort(a, loc + 1, h);}}static int sort(int[] a, int l, int h) {int temp = a[l];while(l<h){while(l<h&&temp<a[h]) h--;a[l]=a[h];while(l<h&&a[l]<=temp) l++;//<=很重要,当有数据重复时a[h]=a[l];}a[l]=temp;return l;}}
0 1 1 2 2 3 4 5 6 8 9
0 0
- 快速排序+二分查找
- 二分查找+二分排序(快速排序)
- 快速排序 和 二分查找
- 快速排序与 二分查找
- 二分查找和快速排序
- 二分查找and快速排序
- 二分查找,希尔排序和快速排序
- 冒泡排序,快速排序,二分查找
- php 冒泡排序 快速排序 二分查找
- 选择排序 快速排序 二分查找法
- 拓扑排序, 快速排序, 冒泡排序, 堆排序, 二分查找
- 插入,冒泡,选择,快速排序,二分查找
- 简单的快速排序与二分查找
- poj2503-Babelfish(快速排序+二分查找)
- 快速排序模板和二分查找
- 二分查找算法与快速排序
- 字符串的快速排序和二分查找
- poj2503-字典树&&二分查找&&快速排序
- 构造函数详解
- SpringMVC从Controller跳转到另一个Controller
- 自己写的重命名函数(前缀+编号)
- 谁该做 Product Owner?
- java网络编程基础夯实04-DNS缓存
- 二分查找+二分排序(快速排序)
- 【转】HTTP协议结构
- 字符串常量
- JAVA Final的用法(自己碰到过的所有情况总结)
- 低通滤波
- Eclipse快捷键
- leetcode Regular Expression Matching
- android消息机制源码分析
- 利用Google爬虫DDoS任意网站