二分搜索技术算法

import java.util.Scanner;
public class 二分搜索技术 {

		/*
		 * 冒泡排序
		 * 
		 * args 待排序的数组
		 * 
		 * 排好的数组
		 */
		public static int[] bubble(int[] args)
		{
			for(int i=1;i<args.length-1;i++)
			{
				for(int j=0;j<args.length-i; j++)
				{
					if(args[j+1]<args[j]){
						int t=args[j];
						args[j]=args[j+1];
						args[j+1]=t;
					}
				}
			}
			return args;
		}

		public static void main(String[] args) {
			int[] a = {20,33,12,88,76,23};
			a = bubble(a); //对数组排序
			
			for(int i = 0; i < a.length; i++)
			{
				System.out.println(a[i]);
			}
			Scanner s = new Scanner(System.in);
			int t = s.nextInt();
			
			int f = 0;
			int l = a.length-1;
			
			while(true)
			{
				int m = (l+f)/2;
				
				if(t==a[m])
				{
					System.out.println("找到");
					break;
				}
				else
				{
					if(t > a[m])
					{
						f = m+1;
					}
					else
					{
						l = m-1;
					}
				}
				
				if(f > l)
				{
					System.out.println("没找到");
					break;
				}
			}
		}

}

猜你喜欢

转载自blog.csdn.net/Austin_/article/details/90143037