蓝桥杯省赛无忧 课件42 插入排序

01 插入排序的思想

02 插入排序的实现

03 例题讲解

csharp 复制代码
#include <iostream>
#include <vector>
using namespace std;
void insertionSort(vector<int>& arr) {
    int n = arr.size();
    for (int i = 1; i < n; i++) {
        // 选择arr[i]作为要插入的元素
        int key = arr[i];
        // 将arr[i]与前面的元素比较后插入正确的位置
        int j = i - 1;
        // 将大于key的元素向后移动
        while (j >= 0 && arr[j] > key) {
            arr[j + 1] = arr[j];
            j = j - 1;
        }
        // 插入key
        arr[j + 1] = key;
    }
}
int main() {
    int n;
    cin >> n;
    vector<int> treasures(n);
    for (int i = 0; i < n; i++) {
        cin >> treasures[i];
    }
    insertionSort(treasures);
    for (int i = 0; i < n; i++) {
        cout << treasures[i] << (i < n - 1 ? " " : "\n");
    }
    return 0;
}
相关推荐
sheeta19982 分钟前
LeetCode 每日一题笔记 日期:2025.12.02 题目:3623. 统计梯形的数目 I
笔记·算法·leetcode
宇来风满楼2 分钟前
U-KAN复现
人工智能·深度学习·神经网络·算法·机器学习
@木辛梓4 分钟前
结构体 结构体c++
开发语言·c++
kyle~4 分钟前
虚拟仪器LabView(VI)
c++·python·ros·labview
W_chuanqi12 分钟前
单目标实数参数优化:算法jSO
算法
是苏浙18 分钟前
蓝桥杯备战day2
蓝桥杯
老鱼说AI19 分钟前
算法初级教学第三步:链表
数据结构·算法·链表
CodeByV19 分钟前
【算法题】双指针(一)
数据结构·算法
9523620 分钟前
二叉平衡树
java·数据结构·学习·算法