時間複雜度o(n^2), 空間複雜度o(1);
精簡版123456789
從1開始(i)
從2開始,2-9找到最小的
交換1和最小的,
i++
void ssort(int a, intn)
if(min !=i)
swap(a[i], a[min]);
}}
網友原始碼
void ssort(int a, intn)
//若min!=i,則交換 a[i] 和 a[min]。
//交換後,保證了a[0]..a[i]之間元素有序。
if(min !=i)
swap(a[i], a[min]);
}}
單步選擇排序
#includeusingnamespace
std;
int findmaxpos(int arr,int
n) }
return
pos;
}void seletionsort(int arr,int
n)
}//seletionsort
intmain()
; seletionsort(arr,9);
for(int i=0;i<9;i++) cout<"";
return0;
}
排序 選擇排序 選擇排序 堆排序
寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...
排序 選擇排序(直接選擇排序 堆排序)
選擇排序 selection sort 的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子檔案的最後,直到全部記錄排序完畢。常用的選擇排序方法有 直接選擇排序 和堆排序。直接選擇排序 straight selection sort 1 直接選擇排序的基本思想 n個記錄的檔...
排序2 選擇排序 選擇排序 堆排序
選擇排序,依次找到資料集n n 1 n 2 中比它大 小的最大 最小者,最終達到全部資料有序。1 選擇排序 直接的依次找到資料集合n n 1 n 2.的最大 最小者形成排序,非常好理解。選擇排序可能是和氣泡排序一樣,最直觀能想到的排序方法。顯然選擇排序和氣泡排序一樣,無所謂最好 最壞 平均,選擇排序...