在此示例中,我們將學(xué)習(xí)在Java中執(zhí)行冒泡排序算法。
在學(xué)習(xí)Java中的冒泡排序算法之前,請確保您了解冒泡排序算法的工作原理。
//導(dǎo)入類 import java.util.Arrays; import java.util.Scanner; class Main { //創(chuàng)建scanner的對象。 //接受用戶的輸入 Scanner input = new Scanner(System.in); //執(zhí)行冒泡排序的方法 void bubbleSort(int array[]) { int size = array.length; //用于升序或降序排序 System.out.println("選擇排序順序:"); System.out.println("1表示升序\n2表示降序"); int sortOrder = input.nextInt(); //運(yùn)行循環(huán)兩次 //第一個(gè)循環(huán)訪問數(shù)組的每個(gè)元素 for (int i = 0; i < size - 1; i++) //第二個(gè)循環(huán)在每次迭代中執(zhí)行比較 for (int j = 0; j < size - i - 1; j++) //按升序?qū)?shù)組進(jìn)行排序 if (sortOrder == 1) { //比較相鄰元素 if (array[j] > array[j + 1]) { // 如果左側(cè)元素大于右側(cè),則交換 int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } //按降序?qū)?shù)組排序 else { // 比較相鄰元素 if (array[j] < array[j + 1]) { //如果左側(cè)元素小于右側(cè),則交換 int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } //main 方法 public static void main(String args[]) { //創(chuàng)建數(shù)組 int[] data = { -2, 45, 0, 11, -9 }; //創(chuàng)建Main類的對象 Main bs = new Main(); //使用對象bs調(diào)用方法bubbleSort //將數(shù)組作為方法參數(shù)傳遞 bs.bubbleSort(data); System.out.println("升序排列的數(shù)組:"); //調(diào)用Arrays類的toString() //將數(shù)據(jù)轉(zhuǎn)換為字符串 System.out.println(Arrays.toString(data)); } }
輸出 1
選擇排序順序: 1 表示升序 2 表示降序 1 排序后的數(shù)組: [-9, -2, 0, 11, 45]
在這種情況下,我們輸入 1。因此,程序按升序?qū)?shù)組進(jìn)行排序。
輸出 2
選擇排序順序: 1 表示升序 2 表示降序 2 排序后的數(shù)組: [45, 11, 0, -2, -9]
在這種情況下,我們輸入 2 。因此,程序按降序?qū)?shù)組進(jìn)行排序。
注意:我們已經(jīng)使用Java掃描器類從用戶那里獲取輸入。