一開始不太了解拜讀了兩位前輩的文章
杰瑞學習分享:http://jerry17768java.blogspot.tw/2012/08/selection-sort.html
yehyeh:http://notepad.yehyeh.net/Content/Algorithm/Sort/Selection/1.php
選擇排序法的概念大概是把一群數字設為排序過、未排序過,一開始會先只找出最大或最小的數
所以j=I+1的用意在於 j是未排序的 要 跟第一個數字相比 如果 比他大就互換 而i是每次要放入的數
//選擇排序法首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,
//然後再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。
//"找到最大的放第一個"
int a[10]={9,10,8,7,6,5,4,3,2,1};
int tmp=0;
for(int i=0;i<10;i++){
for(int j=i+1;j<10;j++)
//j=i+1 是假設已經有一個排序的去跟未排序的做比較
if(a[i]>a[j]){
tmp=a[j];
a[j]=a[i];
a[i]=tmp;
}
}
}
for(int j=0;j<10;j++)
{
cout<<a[j]<<endl;
}