数据结构选择排序C++
时间: 2023-07-08 10:46:29 浏览: 94
选择排序是一种简单直观的排序算法,其基本思想是每次选择待排序数组中最小(或最大)的元素,放到已排序数组的末尾(或开头)。具体实现如下:
```
void selection_sort(int arr[], int n)
{
for (int i = 0; i < n - 1; i++)
{
int min_idx = i;
for (int j = i + 1; j < n; j++)
{
if (arr[j] < arr[min_idx])
{
min_idx = j;
}
}
swap(arr[i], arr[min_idx]);
}
}
```
其中,n表示待排序数组的长度。在实现过程中,我们使用两个循环,外层循环控制已排序数组的范围,内层循环用于查找未排序数组中最小元素的下标。在内层循环结束后,将未排序数组中最小元素与已排序数组的末尾元素进行交换,即可完成一次选择排序。
需要注意的是,选择排序的时间复杂度为O(n^2),不适用于大规模数据的排序。
阅读全文