数组方法

排序函数

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;
    }
}
 
posted @ 2021-09-30 21:50  better_tomorrow  阅读(30)  评论(0)    收藏  举报