您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页java_Arrays模拟排序

java_Arrays模拟排序

来源:华佗养生网

java_Arrays模拟排序

import java.util.Arrays;
import java.util.Comparator;
import java.util.concurrent.ForkJoinPool;

public class ArraysSortCustom {
public static void main(String[] args) {
int[] arr = {1,-1,8,0,20};
//bubble01(arr);

    bubble02(arr, new Comparator() {
        @Override
        public int compare(Object o1, Object o2) {//o2 这个是英文o
            int i1 = (Integer) o1;
            int i2 = (Integer) o2;
            return i1 - i2;//return i2 - i1
        }
    });

    System.out.println("===定制排序后的情况===");
    System.out.println(Arrays.toString(arr));
}
//使用冒泡排序
public static void bubble01(int[] arr) {
    int temp = 0;
    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]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}
    //结合冒泡 + 定制
    public static  void bubble02(int[] arr, Comparator c){
        int temp = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                //数组的排序由c.compare(arr[j],arr[j + 1])返回的值决定
                if (c.compare(arr[j],arr[j + 1]) > 0) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务