在本教程中,我们将看到如何在按升序和降序进行排序。使用冒泡排序算法降序排序。
冒泡排序程序,按升序排序
import java.util.Scanner;
class BubbleSortExample {
public static void main(String []args) {
int num, i, j, temp;
Scanner input = new Scanner(System.in);
System.out.println("Enter the number of integers to sort:");
num = input.nextInt();
int array[] = new int[num];
System.out.println("Enter " + num + " integers: ");
for (i = 0; i < num; i++)
array[i] = input.nextInt();
for (i = 0; i < ( num - 1 ); i++) {
for (j = 0; j < num - i - 1; j++) {
if (array[j] > array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
System.out.println("Sorted list of integers:");
for (i = 0; i < num; i++)
System.out.println(array[i]);
}
}
输出:
Enter the number of integers to sort:
6
Enter 6 integers:
12
6
78
9
45
08
Sorted list of integers:
6
8
9
12
45
78
冒泡排序程序,按降序排序
为了按降序排序,我们只需要将上面程序中的数组array
的逻辑从array[j] > array[j+1]
更改为array[j] < array[j+1]
。完整代码如下:
import java.util.Scanner;
class BubbleSortExample {
public static void main(String []args) {
int num, i, j, temp;
Scanner input = new Scanner(System.in);
System.out.println("Enter the number of integers to sort:");
num = input.nextInt();
int array[] = new int[num];
System.out.println("Enter " + num + " integers: ");
for (i = 0; i < num; i++)
array[i] = input.nextInt();
for (i = 0; i < ( num - 1 ); i++) {
for (j = 0; j < num - i - 1; j++) {
if (array[j] < array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
System.out.println("Sorted list of integers:");
for (i = 0; i < num; i++)
System.out.println(array[i]);
}
}
输出:
Enter the number of integers to sort:
6
Enter 6 integers:
89
12
45
9
56
102
Sorted list of integers:
102
89
56
45
12
9