Java 数组排序:使用冒泡排序法对一维数组进行升序排列
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();
}
}
原文地址: https://www.cveoy.top/t/topic/jqbN 著作权归作者所有。请勿转载和采集!