選擇排序
1.n個記錄的文件的直接選擇排序可經過n-1趟直接選擇排序得到有序結果:
- ①初始狀態:無序區為R[1..n],有序區為空。
- ②第1趟排序
- 在無序區R[1..n]中選出關鍵字最小的記錄R[k],將它與無序區的第1個記錄R[1]交換,使R[1..1]和R[2..n]分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區。
……
- ③第i趟排序
- 第i趟排序開始時,當前有序區和無序區分別為R[1..i-1]和R(i..n)。該趟排序從當前無序區中選出關鍵字最小的記錄 R[k],將它與無序區的第1個記錄R交換,使R[1..i]和R分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區。
2.Java代碼實現
package com.ustc.sort;
/**
* @author 王聰
* @version 創建時間:2017年3月19日 下午7:00:14
* 類說明
*/
public class SelectSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
/**
* 選擇排序算法實現
* @param 傳入數組
* @return 排序后的數組
*/
public static int[] SelectSort(int[] a) {
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length; j++) {
if (a[i] > a[j]) {
int temp= a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
}
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。