- package tw.kuas.mis.edu.tw;
- public class Main {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int [] data = {1,3,2,5,4,6};
- Sort(data);
-
- }
-
- public static void Sort(int data [])
- {
- int temp;
- for(int i=0;i<data.length-1;i++)
- {
- for(int j=i+1;j<data.length;j++) // 這邊之所以j=i+1 原因是 他分成 已排序和 未排序兩列
- {
- if(data[i]>data[j])
- {
- temp = data[i];
- data[i] = data[j];
- data[j] = temp;
- }
- }
-
- for(int k=0;k<data.length;k++)
- {
- System.out.print(data[k]+" ");
- }
- System.out.println();
- }
- }
- }
複製代碼 主要的核心程式碼依然是 迴圈的那部分 主要是將排序的數列 分成 已排序 未排序兩種
由於題目要求 要將整個排序的過程 如題庫上的圖顯示一樣 所以我們沒辦法額外開一個陣列來作儲存
我們只能將他位置進行更換
如果 不是很理解的 可以看一下這個網站 他有動畫可以看得出來移動的情形
http://notepad.yehyeh.net/Content/Algorithm/Sort/Selection/1.php |