选择排序

选择排序是一种简单的排序算法,其核心思想是:(以升序为例)反复从待排序序列中选出最大元素,放到已排序序列的末尾。通过 n-1 轮上述的选择完成排序(n为元素个数)。

代码展示:
#include
using namespace std;

int main() {
    int n;
    cin >> n;
    int arr[100];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }

    // 选择排序核心逻辑
    for (int i = 0; i < n - 1; i++) {  // 外层循环控制轮数,共n-1轮
        int minIndex = i;  // 假设当前i位置是最小值的下标
        for (int j = i + 1; j < n; j++) {  // 内层循环找最小值的下标
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        // 交换当前i位置和最小值位置的元素
        int temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }

    // 输出排序后的序列
    for (int i = 0; i < n; i++) {
        if (i > 0) cout << " ";
        cout << arr[i];
    }
    cout << endl;

    return 0;
}
全部评论

相关推荐

09-29 00:03
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务