#7-9 選擇法排序之過程 (15 分)
本題要求使用選擇法排序,將給定的n個整數從小到大排序後輸出,並輸出排序過程中每一步的中間結果。
選擇排序的演算法步驟如下:
第0步:在未排序的n個數(a[0]〜 a[n−1])中找到最小數,將它與 a[0]交換;
第1步:在剩下未排序的n−1個數(a[1] 〜 a[n−1])中找到最小數,將它與 a[1] 交換;
第k步:在剩下未排序的n−k個數()中找到最小數,將它與 a[k] 交換;
第n−2步:在剩下未排序的2個數(a[n−2] 〜a[n−1])中找到最小數,將它與 a[n−2]交換。
輸入格式:
輸入第一行給出乙個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。
輸出格式:
在每一行中輸出排序過程中對應步驟的中間結果,即每一步後a[0]〜 a[n−1]的值,相鄰數字間有乙個空格,行末不得有多餘空格。
輸入樣例:
45 1 7 6
輸出樣例:
1 5 7 6
1 5 7 6
1 5 6 7
#include
int main ()
}temp=a[k];a[k]=a[j];a[j]=temp;
for(m = 0;mk=j+1;
}
排序 選擇法
選擇法 基本思想,每一趟 例如第 i 趟,i 0,1,n 2 在後面 n i個待排的資料元素中選出關鍵字 最小的元素,作為有序元素序列的第 i 個元素。排序過程 首先通過n 1次關鍵字比較,從n個記錄中找出關鍵字最小的記錄,將它與第乙個記錄交換 再通過n 2次比較,從剩餘的n 1個記錄中找出關鍵字次...
選擇法排序
usr bin python coding utf 8 defselect sort li num 選擇法排序 foriin range num 1 對位置進行遍歷 min i 把i位置記做最小值 forjin range i 1,num 查詢i之後的所有位置的最小值 ifli i li j 如果找...
Java 選擇法排序
a 原理 每一趟從待排序的記錄中選出最小的元素,順序放在已排好序的序列最後,直到全部記錄排序完畢。也就是 每一趟在n i 1 i 1,2,n 1 個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。基於此思想的演算法主要有簡單選擇排序 樹型選擇排序和堆排序。這裡只介紹常用的簡單選擇排序 b 簡單選...