冒泡排序与二分法查找

冒泡排序

冒泡排序就是让数组中的元素进行两两比较然后进行排序

package game.sc;



public class Test_maopao {
	public static void main(String[]args) {
		int[]= {2,5,35,45,45,45,78,54,45}; 
		Test_maopao a=new Test_maopao();
		a.show(arr);
		
	}
	
public void sort(int[] arr) {
	for(int j=0;j<arr.length;j++) {
		//比较两个数的大小
		for(int i=0 ;i<arr.length-j;i++) {
			if(arr[i]>arr[i+1]) {
				int temp=arr[i]; //把第一个元素保存到一个变量中
				arr[j]=arr[j+1];
				arr[j+1]=temp;
				
			}
		}
	}
	
}
public void show(int[]arr) {
	for (int i:arr) {
		System.out.println(i);
	}
}
}

二分法查找

二分查找和我们高中学的二分法查找是一样的,要使用二分法我们先得排序

package game.sc;
/*
 * 测试二分法
 */


public class Test_erfenfa {
	public static int search(int[] array, int find){
		if(array == null){
			return -1;
		}
		int start = 0;
		int end = array.length - 1;
		int middle = 0;
		while(start <= end){
			middle = (start + end) / 2;//中间的位置
			if(array[middle] == find){//中间值等于要查找的值,直接返回
				return middle + 1;
			}else if(array[middle] < find){//中间值小于要查找的值,就在中间值后面继续查找
				start = middle + 1;
			}else{//中间值大于要查找的值,就在中间值前面继续查找
				end = middle -1;
			}
		}
		return -1;//未查找到,返回-1
	}


}

	

发布了30 篇原创文章 · 获赞 0 · 访问量 431

猜你喜欢

转载自blog.csdn.net/weixin_45736498/article/details/103620470