用c++写一个选择排序
时间: 2024-02-18 20:36:46 浏览: 18
下面是用 C++ 实现选择排序的示例代码:
```cpp
#include <iostream>
void selectionSort(int 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;
}
}
if (minIndex != i) {
std::swap(arr[i], arr[minIndex]);
}
}
}
int main() {
int arr[] = { 5, 2, 8, 3, 6 };
int n = sizeof(arr) / sizeof(arr[0]);
selectionSort(arr, n);
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
2 3 5 6 8
```
其中,`selectionSort` 函数用于进行选择排序,`arr` 为待排序的数组,`n` 为数组的长度。在函数中,`i` 从 0 开始遍历到 n-1,表示当前已经选择了 i 个元素,并将它们放在前面。在接下来的循环中,从 i+1 开始遍历到 n-1,找到最小的元素,并记录它的下标为 `minIndex`。如果 `minIndex` 不等于 i,则将 arr[i] 和 arr[minIndex] 交换。最终得到的数组即为有序的。