public class SortArray { double a[]; // 这是需要排序的一维数组

// 这个构造方法用于构造并填充数组a,a中的元素由随机函数产生,n是元素数目
public SortArray(int n) {
    a = new double[n];
    for (int i = 0; i < n; i++) {
        a[i] = Math.random();
    }
}

// 当用户使用这个没有参数的构造方法时,本方法会自动构造一个有10个元素的数组
public SortArray() {
    a = new double[10];
    for (int i = 0; i < 10; i++) {
        a[i] = Math.random();
    }
}

// 用户也可以传递一个需要排序的数组进来,该构造函数会将它保存在a[]中
public SortArray(double data[]) {
    a = data;
}

// 显示数组a中的元素
public void show() {
    for (int i = 0; i < a.length; i++) {
        System.out.print(a[i] + ' ');
    }
    System.out.println();
}

// 将a中的元素按升序排列
public void sort() {
    for (int i = 0; i < a.length - 1; i++) {
        for (int j = 0; j < a.length - i - 1; j++) {
            if (a[j] > a[j + 1]) {
                double temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}

// 获取数据保存到数组a中
public void getData() {
    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    a = new double[n];
    for (int i = 0; i < n; i++) {
        a[i] = scanner.nextDouble();
    }
}

// 以下是测试用代码
public static void main(String argv[]) {
    SortArray va = new SortArray();
    va.getData();
    va.sort();
    va.show();
}

}

Java 数组排序:使用冒泡排序法对一维数组进行升序排列

原文地址: https://www.cveoy.top/t/topic/jqbN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录