当前位置: 首页 译界快讯

选择排序代码 c++选择排序代码

时间:2023-07-13 作者: 小编 阅读量: 1 栏目名: 译界快讯 文档下载

首先定义一个`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`函数来排序数组,并输出结果。