请选择 进入手机版 | 继续访问电脑版

Java数组2[Mac+JDK8-->逆序,数组内部元素奇偶排列,判断升序,二分查找,

[复制链接]
命中不缺你 发表于 2021-1-3 11:58:22 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
缺少Jdk8的朋侪点这里[Win+Mac+Linux]提取码:Rvsj
举栗子

[code]/**     * 数组拷贝共有 4 种方式     * for     * Arrays.copyOf(src)     * System.arraycopy(src, srcPos, dst, dstPos, len);     * arr.clone(src);克隆产副本,是Object的克隆方法     * 1.System.arraycopy()速度最快,属于与natve方法[C,C++代码实现]     * 2.以上4种全是浅拷贝:牵一发动全身     *     * @param arr     * @return     */    public static int[] my_copyArray(int[] arr) {        int[] arr_d = new int[arr.length];        for (int i = 0; i < arr.length; i++) {            arr_d = arr;        }        return arr_d;    }    public static int my_arrayMax(int[] arr) {        int max = arr[0];        for (int val : arr) {            if (max < val) {                max = val;            }        }        return max;    }    /**     * 二分查找     *     * @param arr 要查找的有序序列     * @param key 在序列中想查找的数字     * @return     */    public static int count = 0;    public static int my_binarSearch(int[] arr, int key) {        int left = 0;        int right = arr.length - 1;        int mid;        while (left >> 2;            if (arr[mid] < key) {                left = mid + 1;            } else if (arr[mid] > key) {                right = mid - 1;            } else {                return mid;            }        }        return -1;    }    /**     * Arrays工具类中常见方法类先容     * fill     * sort     * toString     * binarySearch     *     * @param     */    //判断某个数组是否升序    public static boolean my_isUP1(int[] arr) {        int[] ret = Arrays.copyOf(arr, arr.length);        Arrays.sort(ret);        if (Arrays.equals(ret, arr)) {            return true;        } else {            return false;        }    }    public static boolean my_isUP2(int[] arr) {        for (int i = 0; i < arr.length; i++) {            if (arr > arr[i + 1]) {                return false;            }        }        return true;    }    public static void my_bubbleSort(int[] arr) {        int tmp, flag;        for (int i = 0; i < arr.length; i++) {            flag = 1;            for (int j = 0; j < i - 1; j++) {                if (arr[j] > arr[j + 1]) {                    tmp = arr[j];                    arr[j] = arr[j + 1];                    arr[j + 1] = tmp;                    flag = 0;                }                if (flag == 1) {                    break;                }            }        }    }    public static int[] my_reverse_1(int[] arr) {        int[] tmp = new int[arr.length];        for (int i = 0; i < arr.length; i++) {            tmp = arr[arr.length - 1 - i];        }        return tmp;    }    public static void my_reverse_2(int[] arr) {        int left = 0;        int right = arr.length - 1;        int tmp;        while (left < right) {            tmp = arr[left];            arr[left] = arr[right];            arr[right] = tmp;            ++left;            --right;        }    }    public static void my_move(int[] arr) {        int left = 0;        int right = arr.length - 1;        int tmp;        while (left < right) {            while ((left < right) && (arr[left] % 2 == 0)) {                ++left;            }            while ((left < right) && (arr[right] % 2 == 1)) {                --right;            }            if (left
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )