字符二分快速查找
来源:互联网 发布:金融行业大数据分析 编辑:程序博客网 时间:2024/06/06 09:00
import java.util.Scanner;/** * * @author luozhonghua * */public class charSearchAndSort { static void kuaiSu(char[] a,int left,int right) //字符快速排序 { int f,l,r; char t; l=left; r=right; f=a[(left+right)/2]; while(l<r){ while(a[l]<f) ++l; while(a[r]>f) --r; if(l<=r){ t=a[l]; a[l]=a[r]; a[r]=t; ++l; --r; } } if(l==r) l++; if(left<r) kuaiSu(a,left,l-1); //递归调用 if(l<right) kuaiSu(a,r+1,right); //递归调用 } static int searchFun(char []a,int n,char x){ //折半查找 int mid,low,high;low=0;high=n-1; while(low<=high){ mid=(low+high)/2;if(a[mid]==x) return mid;//找到else if(a[mid]>x) high=mid-1; elselow=mid+1; }return -1;//未找到} public static void main(String[] args) { char[] str=new char[80]; int N; char[] x=new char[80]; System.out.print("输入一个字符串:"); Scanner input=new Scanner(System.in); str=input.next().toCharArray(); //输入字符串 N=str.length; System.out.print("排序前:\n"); System.out.println(str); //输出 kuaiSu(str,0,N-1); //二分排序 System.out.print("排序后:\n"); System.out.print(str); //输出 //二分查找 System.out.print("\n"); System.out.println("输入要查找的字符:"); Scanner inpu=new Scanner(System.in); x=inpu.next().toCharArray();//输入要查找的数 int n=searchFun(str,N,x[0]);//查找 if(n<0)//输出查找结果 System.out.println("没找到数据:"+x);else System.out.println("数据:"+x[0]+" 位于数组的第"+(n+1)+" 个元素处。"); } }
0 0
- 字符二分快速查找
- 快速排序+二分查找
- 快速查找指定字符
- 快速排序 和 二分查找
- 快速排序与 二分查找
- 二分查找和快速排序
- 二分查找and快速排序
- 二分查找+二分排序(快速排序)
- 二分查找算法(快速查找)
- 插入,冒泡,选择,快速排序,二分查找
- 简单的快速排序与二分查找
- poj2503-Babelfish(快速排序+二分查找)
- 快速排序模板和二分查找
- 二分查找算法与快速排序
- 字符串的快速排序和二分查找
- poj2503-字典树&&二分查找&&快速排序
- 二分查找,希尔排序和快速排序
- 快速排序以及二分查找的实现
- ACM-欧拉函数
- 07 JS元素操作
- 语句std::cout<<std::endl的作用
- 手把手教你使用Git
- C#生成中文验证码
- 字符二分快速查找
- 使用JSONObject出现的一系列java.lang.NoClassDefFoundError问题
- libvirt kvm 虚拟机上网 – Bridge桥接
- 英语表达 各种符号
- hadoop分组与分区
- ext4js 主页面布局,动态分配菜单,并点击url 显示到内容面板中
- 按照权重随机抽取元素
- 编程之道
- K尾相等数