2020-12-13作业整理

1.给定一个整型数组, 实现冒泡排序(升序排序)

解题思路:
建立 i 表示(冒泡)趟数
建立 j 表示每次冒的数字
每趟可以确定最后一个数字一定是最值
代码实现:

private static void bubbleSort(int[] arr) {
     
    for (int i = 0; i < arr.length - 1; i++) {
     
        for (int j = 0; j < arr.length - 1 - i; j++) {
     
            if (arr[j] > arr[j + 1]) {
     
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
}
public static void main(String[] args) {
     
    int[] arr = {
     2, 5, 3, 6, 4, 7,};
    bubbleSort(arr);
    System.out.println(Arrays.toString(arr));
}

2.给定一个整型数组, 判定数组是否有序(递增)

解题思路:
逐个访问比较,若出现下标大的数值小于下标小的数值则返回false
代码实现:

public static boolean upUp(int[] array){
     
    for (int i = 0; i < array.length - 1; i++) {
     
        if (array[i] > array[i+1]){
     
            return false;
        }
    }
    return true;
}
public static void main(String[] args) {
     
    int[] array = {
     1,2,3,4,6,5};
    System.out.println(upUp(array));
}

3.给定一个有序整型数组, 实现二分查找

解题思路:
同课堂总结
代码实现:

public static int binarySearch(int[] array,int key) {
     
        int left = 0;
        int right = array.length-1;
        while (left <= right) {
     
            count++;
            int mid = (left+right)/2;
            if(array[mid] == key) {
     
                return mid;
            }else if(array[mid] < key) {
     
                left = mid+1;
            }else {
     
                right = mid-1;
            }
        }
        return -1;//没有找到目标数字
    }

4.实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组.

代码实现:

public static int[] copyOf(int []arr) {
     
    int[] arr2=new int[arr.length];
    for(int i=0;i<arr.length;i++) {
     
        arr2[i] = arr[i];
    }
    return arr2;
}
public static void main(String[] args) {
     
    int[] arr = {
     1,2,3,4,5};
    int[] newarr = copyOf(arr);
    System.out.println(Arrays.toString(newarr));
}

5.实现一个方法 toString, 把一个整型数组转换成字符串. 例如数组 {1, 2, 3} , 返回的字符串为 “[1, 2, 3]”, 注意 逗号 的位置和数量.

代码实现:

public static String toString(int[] arr) {
     
    String ret = "\"";
    ret += "[";
    for (int i = 0; i < arr.length; i++) {
     
        if (i < arr.length - 1) {
     
            ret += arr[i] + ",";
        } else if (i == arr.length - 1) {
     
            ret += arr[i] + "]";
        }
    }
    ret += "\",";
    return ret;
}
public static void main(String[] args) {
     
    int[] arr = {
     1,2,3,4,5};
    String s = toString(arr);
    System.out.println(s);
}

你可能感兴趣的:(作业整理,java)