java 折半查找
来源:互联网 发布:动物 爱情 知乎 编辑:程序博客网 时间:2024/06/05 02:37
折半查找
给定一组数据,先进行快速排序,再进行折半查找
import java.util.*;/** * @version 1.0 * @author zhouxiaowu * */public class BinSearch { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("please input dataset:"); String str = sc.nextLine(); String[] s = str.split("\\s+"); System.out.println("please input search value:"); int value = sc.nextInt(); int[] nums = new int[s.length]; for(int i=0;i<nums.length;i++){ nums[i]=Integer.parseInt(s[i]); } Qsort(nums,0,nums.length-1); System.out.println("sorted dataset:"); for(int i:nums) System.out.print(i+" "); System.out.print("\n"); int result = binSearch(nums,value); System.out.println(value+":"+result); } public static void Qsort(int[] num,int low,int high){ if(low<high){ int part = partition(num,low,high); if(low<part-1) Qsort(num,low,part-1); if(high>part+1) Qsort(num,part+1,high); } } public static int partition(int[] num,int p,int q){ int low =p,high=q; int temp =num[low]; while(low<high){ while(low<high&&temp<=num[high]) high--; if(low<high) num[low++]=num[high]; while(low<high&&temp>=num[low]) low++; if(low<high) num[high--]=num[low]; } num[low]=temp; return low; } public static int binSearch(int[] num,int value){ int low = 0; int high = num.length-1; int mid; while(low<=high){ mid=(low+high)/2; if(num[mid]==value) return mid; else if(num[mid]>value) high=mid-1; else low = mid+1; } return -1; }}
测试结果:
Input:please input dataset:
15 7 9 2 12 8 1
please input search value:
9
output:sorted dataset:
1 2 7 8 9 12 15
9:4
0 0
- 折半查找-java实现
- JAVA折半查找法
- java--折半查找2
- java折半查找
- java 折半查找
- java排序--折半查找
- java折半查找
- Java折半查找
- java数据结构---折半查找
- Java 折半查找
- java折半查找算法
- Java--折半查找
- java 折半查找
- java 折半查找
- Java 折半查找
- Java 折半查找
- Java中折半查找
- 二分查找(折半查找) java
- Linux 常用命令大全
- 在12306网站爬取火车票数据
- 用SI看代码时某个函数只找到被引用但是找不到定义时的解决办法
- 开源搜索引擎评估:lucene sphinx elasticsearch
- Android Canvas绘制正多边形和正多角星
- java 折半查找
- 大数据系列修炼-Scala课程107
- wamp 多站点配置
- 普通表转为分区表(二)-insert
- ssh连接服务器太慢
- 大数据系列修炼-Scala课程108
- ubuntu docker安装
- jQuery之家
- 关于今天easyui的坑 DateGrid工具条问题,版本easyui 1.2.2