蓝桥杯省赛无忧 课件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;
}
相关推荐
Matlab程序猿小助手38 分钟前
【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·嵌入式硬件·算法·matlab·机器人·无人机
qq_4286396140 分钟前
植物明星大乱斗15
c++·算法·游戏
捕鲸叉1 小时前
C++创建型模式之生成器模式
开发语言·c++·建造者模式
sxtyjty1 小时前
人机打怪小游戏(非常人机)
c++
oioihoii1 小时前
单例模式详解
c++·单例模式·c#·大学必学
ikkkkkkkl2 小时前
深述C++模板类
开发语言·c++
Peter_chq2 小时前
【计算机网络】HTTP协议
linux·c语言·开发语言·网络·c++·后端·网络协议
xxxmmc2 小时前
Leetcode 3355 Zero Array Transformation
算法·leetcode·差分
程序garbage2 小时前
搜索插入位置-力扣
数据结构·算法·leetcode
vir023 小时前
好奇怪的游戏(BFS)
数据结构·c++·算法·游戏·深度优先·图论·宽度优先