当前位置 博文首页 > 爱新觉罗?炒饭的博客:Java实现冒泡排序并且用二分查找数字

    爱新觉罗?炒饭的博客:Java实现冒泡排序并且用二分查找数字

    作者:[db:作者] 时间:2021-07-07 15:34

    package my_project;
    import java.util.*;
    public class NumSort1{
    	public static void main(String args[]){
    		System.out.println("请输入待排序数字的个数");
    		Scanner reader=new Scanner(System.in);
    		int n=reader.nextInt();
    		int a[]=new int[n];
    		for(int i=0;i<n;i++) {
    			a[i]=reader.nextInt();
    		}
    		for(int i=0;i<a.length-1;i++) {//一共需要循环n-1次
    			for(int j=0;j<a.length-i-1;j++) {
    				if(a[j]>a[j+1]) {
    					int temp=a[j];
    					a[j]=a[j+1];
    					a[j+1]=temp;
    				}
    			}
    		}
    		for(int i=0;i<a.length;i++) {
    			System.out.print(a[i]+" ");
    		}
    		System.out.println("请输入需要查找的数字");
    		int num=reader.nextInt();
    		int left=0,right=a.length,flag=0;
    		while(left<right) {
    			int mid=(left+right)/2;
    			if(num==a[mid]) {
    				flag=1;
    				break;
    			}
    			else if(a[mid]<num)
    				left=mid+1;
    			else
    				right=mid-1;
    		}
    		if(flag==1)
    			System.out.println("数组中存在这个数字");
    		else
    			System.out.println("数组中不存在这个数字");
    	}
    }
    
    cs