冒泡排序
/**
* 冒泡排序
*/
public class BubbleTo {
public static void main(String[] args) {
int[] arr = {7,6,8,23,9,16,10,1};
int temp = 0;
for (int i=arr.length-1;i>0;i--){
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int item:arr) {
System.out.println(item);
}
}
}
选择排序
/**
* 选择排序
*/
public class Select {
public static void main(String[] args) {
int[] arr = {7,6,8,23,9,16,10,1};
for (int i=0;i<arr.length-1;i++){
int min = i;
for (int j=min+1;j<arr.length;j++){
if(arr[min] > arr[j]){
min = j;
}
}
if(min!=i){
int temp = 0;
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
for (int item:arr) {
System.out.println(item);
}
}
}
二分法查找
/**
* 二分法查找
*/
public class BinarySearch {
public static void main(String[] args) {
int[] arr = {7,6,8,23,9,16,10,1};
int dest = binCha(arr, 16);
System.out.println(Arrays.toString(arr));
System.out.println(dest);
}
public static int binCha(int[] arr,int dest){
Arrays.sort(arr);
int begin = 0;
int end = arr.length-1;
while (begin <= end){
int mid = (begin + end)/2;
if(arr[mid]==dest){
return mid;
}else if(arr[mid] > dest){
end = mid - 1;
}else if(arr[mid] < dest){
begin = mid + 1;
}
}
return -1;
}
}