【235天】Java程式設計基本思路 + KeyListener介面 + 氣泡排序演算法最終版

weixin_33766168發表於2017-09-29

叨叨兩句

  1. 插,昨晚忘發了。今早補上。

Java程式設計基本思路

  1. 專案需求
  2. 需求分析
  3. 相關類/物件/方法/屬性
  4. 核心邏輯
  5. 程式碼實現

KeyListener介面

  1. keyTyped
  2. keyPressed
  3. keyReleased

氣泡排序演算法最終版

package com.test;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * @author Administrator
 * 氣泡排序演算法最終版
 * 
 */
public class MySort { 
    public static void main(String[] args) {
        int[] arr = {1,2,3,5,8};
        sortUp(arr); //升序
    }
    
    public static void sortUp(int[] arr) {
        System.out.println("本次排序陣列為"+Arrays.toString(arr));
        boolean sort = true;
        for(int j = 0;j<arr.length-1;j++) {
            for(int i = 0;i<arr.length-1-j;i++) {
                System.out.println("執行第"+(j+1)+"趟——第"+(i+1)+"次");
                if(arr[i]>arr[i+1]) {
                    System.out.println("執行第"+(j+1)+"趟——第"+(i+1)+"次發生了"+arr[i]+"與"+arr[i+1]+"的交換");
                    System.out.println("交換前為"+Arrays.toString(arr));
                    int temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                    sort = false;
                    System.out.println("交換後為"+Arrays.toString(arr));
                } else {
                    System.out.println("執行第"+(j+1)+"趟——第"+(i+1)+"次時未發生交換");
                }
            }
            
            if(sort) {
                System.out.println("該排序陣列本身就有順序,第"+(j+1)+"趟結束迴圈");
                break;
            }
            
        }
        
        System.out.print("最終結果為"+Arrays.toString(arr));
    }
}

相關文章