java的類別庫有提供快速排序法的method
首先在程式碼第一行
import java.util.Arrays;
宣告陣列 int [] a = {2,4,6,8,1,3,5,7};
呼叫method
public static void sort(int[] a);
以泡沫排序法將n筆數字由大到小排列
思考:
將第一個數字拿來與後面的數字比較,如果後面的數字比第一個數字大
那麼就將這兩個數字對調。比到最後一筆資料為止。表示一回合結束。
這邊設立一個key指向第二筆資料以及一個loop去執行一個回合的比較。
每個回合可以確保最大的數字調到最前端
因此至多執行n個回合資料就會排序完畢
因此設立一個key指向第一筆資料,一個回合結束key指向下一筆資料
當key指到最後一筆資料時代表排序結束
public class selection_sort
{
public static void main(String args[])
{
int[] num = {11,3,6,2,20,16,9};
for(int i=0;i<num.length;i++)//第i回合
{
for(int j=i+1;j<num.length;j++)//一回合的比較
{
int temp;
if(num[j]>num[i])
{
temp = num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
for(int i =0;i<num.length;i++)
{
System.out.print(num[i]+" ");
}
}
}
這叫泡沫排序法
回覆刪除謝謝糾正!!!!呼應我的標題阿 慚愧
刪除作者已經移除這則留言。
回覆刪除