Sort|选择排序(Selection Sort)
小于 1 分钟
选择排序 (Selection Sort)
实现步骤
- 首先在
未排序
序列中找到最小(大)元素,存放到排序序列的起始位置. - 再从剩余
未排序
元素中继续寻找最小(大)元素,然后放到已排序
序列的末尾。 - 以此类推,直到所有元素均排序完毕。
代码实现
template <typename T>
void selectionSort(T arr[], int n) {
for (int i = 0; i < n-1; i++) {
int minIndex = i;
for (int j = i+1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
swap(arr[minIndex], arr[i]);
}
}