java之选择排序/冒泡排序/折半查找

import java.util.*;

public class Dai {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
//选择排序
//每个元素都要比较
int[] a={3,2,4,9,0,999,7,22,45,100};
int n;
/*for(int i=0;i<a.length;i++){
	for(int j=i+1;j<a.length;j++){
		if(a[i]>a[j]){
			n=a[j];
			a[j]=a[i];
			a[i]=n;
			
		}
	}
}
for(int m=0;m<a.length;m++){
	
	System.out.print(a[m]+" ");
	
	}
System.out.println();*/
//冒泡排序
for(int j=a.length-1;j>=1;j--){
   for(int i=0;i<a.length-1;i++){
		if(a[i]>a[i+1]){
			n=a[i+1];
			a[i+1]=a[i];
			a[i]=n;
	}
	
	
}
}
for(int m=0;m<a.length;m++){
	
	System.out.print(a[m]+" ");
	
	}	


System.out.println(zhebanSearch(a,999));
	}
	//折半查找
	//折半公式 (max+min)/2
	//小指针索引》大指针索引-----没找到-1的索引
	//循环折半条件:min<=max
	public static int  zhebanSearch(int [] arr,int key){
		int min=0;
		int max=arr.length-1;
		int mid=0;
		while(min<=max){
			mid=(min+max)/2;
			if(key>arr[mid]){
				min=mid+1;
				
			}else if(key<arr[mid]){
				
				max=mid-1;
				
			}else{
				
				return mid;
				
			}
			
			
		}
		
		return -1;
		
	}
	
	
}
	
	
	
	

猜你喜欢

转载自blog.csdn.net/miss_dairongrong/article/details/80762700
今日推荐