使用C++实现一个选择排序
时间: 2024-05-12 22:18:05 浏览: 68
好的,选择排序是一种简单的排序算法,大致思路是在未排序的数列中找到最小(或最大)的元素,放到数列的起始位置,然后再从剩下的未排序元素中寻找最小(或最大)的元素,放到已排序元素的末尾。以此类推,直到所有的元素都被排序。您可以参考下面这段C代码实现:
```c
void selection_sort(int arr[], int len) {
int i, j, min_idx;
// One by one move boundary of unsorted subarray
for (i = 0; i < len-1; i++) {
// Find the minimum element in unsorted array
min_idx = i;
for (j = i+1; j < len; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
// Swap the found minimum element with the first element
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
```
这是一个简单的选择排序算法,通过交换未排序元素中的最小值实现排序。您可以将需要排序的数字存储在数组中,然后将数组和数字的数量作为参数传递给这个函数。
阅读全文