题解 | #C++选择排序#
C++选择排序
https://www.nowcoder.com/practice/3b6175426e704c0b9461628b2278631b
选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思想是每一次从待排序的数据元素中选择最小(或最大)的一个元素,放到序列的起始位置,然后再从剩余未排序元素中选择最小(或最大)的元素,放到已排序序列的末尾。这个过程不断地重复,直到所有元素都排好序。
选择排序的步骤如下:
- 初始状态: 给定包含 n 个元素的数组。
- 第一次选择: 从数组中选择最小的元素,与数组的第一个元素交换位置。
- 第二次选择: 从剩下的 n-1 个元素中选择最小的元素,与数组的第二个元素交换位置。
- 依此类推: 重复以上步骤,每次选择排序会确定一个未排序部分的最小元素,并将其放到已排序部分的末尾。
- 最终得到有序序列。
#include <iostream>
using namespace std;
int main() {
int arr[6] = { 0 };
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
// write your code here......
for (int i = 0; i < len - 1; i++)
{
int min = arr[i];
for (int j = i + 1; j < len; j++)
{
if (min > arr[j])
{
int t = min;
min = arr[j];
arr[j] = t;
}
}
arr[i] = min;
}
for (int i = 0; i < len; i++) {
cout << arr[i] << ' ';
}
return 0;
}
查看6道真题和解析