排序函数
import java.util.Arrays;
public class sortExercise {
public static void main(String[] args){
int[] arr = {1,2,7,3,4};
// 对数组排序,从小到大,可以通过ctrl+鼠标左键转到定义,看其他重载的sort函数,根据需要使用
Arrays.sort(arr);
for(int i = 0; i < arr.length; i++)
System.out.println(arr[i]+" ");
}
}
import java.util.Arrays;
public class sortExercise {
public static void main(String[] args){
int[] arr = {1,2,7,3,4};
// 冒泡排序,是比较每个和相邻的那个,让大的一直在左边
for(int i = arr.length-1; i > 0; i--)
for(int j = 0; j < i; j++){
if (arr[j] > arr[j+1]){
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
// 输出数组的值,检查是否排序成功
for (int i = 0; i< arr.length; i++)
System.out.print(arr[i]+" ");
}
}
import java.util.Arrays;
public class sortExercise {
public static void main(String[] args){
int[] arr = {1,2,7,3,4};
// 选择排序,记下最小值得下标,等一轮比较完后在换
for(int i = 0; i < arr.length; i++){
int min = i;
for(int j = i+1; j< arr.length; j++){
if(arr[min] > arr[j])
min = j;
}
if(min != i){
int temp;
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
// 输出数组的值,检查是否排序成功
for (int i = 0; i< arr.length; i++)
System.out.print(arr[i]+" ");
}
}
import java.util.Arrays;
import static java.util.Arrays.binarySearch;
public class sortExercise {
public static void main(String[] args){
int[] arr = {1,2,7,3,4};
Arrays.sort(arr);
for (int i = 0; i< arr.length; i++)
System.out.print(arr[i]+" ");
// 二分查找,封装好的方法,如果没有找到,返回的是数组最低的下标加1的相反数return -(low + 1);
// 注意使用二分查找必须是已经从小到大排序好的数组了,否则会出现返回负数的情况,并且返回的是排好序的数组的下标
int index = Arrays.binarySearch(arr , 1);
System.out.println(index == -1 ? "该元素不存在!" : "该元素下标" + index);
}
}
import java.util.Arrays;
public class sortExercise {
public static void main(String[] args){
int[] arr = {1,2,3,4,7};
Arrays.sort(arr);
// 自己写的二分查找
int index = binarySearch(arr , 7);
System.out.println(index == -1 ? "该元素不存在!" : "该元素下标" + index);
}
public static int binarySearch(int[] arr, int dest){
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)
begin = mid + 1;
else end = mid - 1;
}
return -1;
}
}