选择排序的思想
选择排序的关键


使用实例
import java.util.Arrays;
public class ArraysDemo {
//目标:掌握快排与二分查找算法
public static void main(String[] args) {
int[] arr = new int[]{130, 39, 56, 43, 78, 98, 1};
int[] arr1 = new int[]{130, 39, 56, 43, 78, 98, 1};
fastSort(arr);
bulletSort(arr1);
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(arr1));
System.out.println(binarySearch(arr, 43));
}
/**
*二分查找算法
* @param arr 源数组
* @param date 需要查找的数据
* @return 若数组中存在相应数据则返回对应索引,否则返回 -(应插入位置+1)
*/
public static int binarySearch(int[] arr, int date){
//定义左右索引
int left = 0;
int right = arr.length-1;
//开始循环,进行二分查找
while(left<=right){
int middle = (left+right)/2;
if(date>arr[middle]){
//往右边查找
left = middle + 1;
}else if(datearr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
/**
* 冒泡拍寻
* @param arr 源数组
*/
public static void bulletSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-(i+1); j++) {
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}