首先是弄清楚原理:相鄰的兩個數進行比較,按照從小到大或者從大到小的順序進行交換,就這樣一次循環最大或者最小的數字就被拍到最后一位,然后再從頭開始進行兩兩比較交換,直到結束。下面通過例子分步驟講解(按從小到大的順序排列)。
定義一個數組{5 ,6, 1,4 ,3}
第一次循環得到結果為:5 - 1 - 4 -3 -6
第二次循環得到結果為:1 - 4 - 3 -5 -6
如此類推最后得到的結果:1 -3 -4 -5 -6
下面進入代碼:
定義一個數組儲存數據,順便輸出一下,用for循環,length獲取數組長度
接下來就是最重要的邏輯處理
這里就是交換的過程 ,利用雙層for循環實現相鄰兩個數之間的交換
定義一個temp用于交換
直接看代碼。
當上面的代碼執行完成那么順序也就排好了,在利用for循環輸出
下面是完整代碼:
public static void main(String[] args) {
 //定義一個數組,存儲數據
 int[] x = {5, 6, 1, 4, 3, 8};
 System.out.print("排序前的順序:");
 //循環輸出
 for (int i = 0; i < x.length; i++)
 {
 System.out.print(x[i]+"\t");
 }
 //排序的邏輯處理
 for (int i = 0; i < x.length; i++) {
 for (int j = i; j < x.length; j++) {
 if (x[i] > x[j]) {
 int temp = x[i];
 x[i] = x[j];
 x[j] = temp;
 }
 }
 }
 System.out.println();
 System.out.print("排序后的順序:");
 for (int i = 0; i < x.length; i++)
 {
 System.out.print(x[i]+"\t");
 }
 }
最后的排序結果:
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!