首先定义一个`selectionSort`函数,接受一个整型数组和数组的长度作为参数。在函数内部,通过两层循环来进行排序。外层循环`i`从0到`n-1`,表示当前需要确定的最小元素的位置。内层循环`j`从`i+1`到`n-1`,用于查找待排序部分中的最小元素,并将其索引存储在`minIndex`中。然后将最小元素与当前位置的元素交换。最后在`main`函数中调用`selectionSort`函数来排序数组,并输出结果。
以下是一个使用C++实现的选择排序代码:
```c++
#include
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;
}
}
// 将最小元素与当前位置的元素交换
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
int main() {
int arr[] = {5, 2, 8, 12, 3};
int n = sizeof(arr) / sizeof(arr[0]);
selectionSort(arr, n);
std::cout << "排序后的数组:";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
这段代码实现了选择排序算法。首先定义一个`selectionSort`函数,接受一个整型数组和数组的长度作为参数。在函数内部,通过两层循环来进行排序。外层循环`i`从0到`n-1`,表示当前需要确定的最小元素的位置。内层循环`j`从`i+1`到`n-1`,用于查找待排序部分中的最小元素,并将其索引存储在`minIndex`中。然后将最小元素与当前位置的元素交换。最后在`main`函数中调用`selectionSort`函数来排序数组,并输出结果。