蓝桥杯省赛无忧 课件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;
}
相关推荐
少许极端2 分钟前
算法奇妙屋(十五)-BFS解决边权为1的最短路径问题
数据结构·算法·bfs·宽度优先·队列·图解算法·边权为1的最短路径问题
c骑着乌龟追兔子14 分钟前
Day 27 常见的降维算法
人工智能·算法·机器学习
hetao173383716 分钟前
2025-12-02~03 hetao1733837的刷题记录
c++·算法
田里的水稻18 分钟前
math_旋转变换
算法·几何学
“愿你如星辰如月”22 分钟前
C++11核心特性全解析
开发语言·c++
ada7_26 分钟前
LeetCode(python)——94.二叉
python·算法·leetcode·链表·职场和发展
广都--编程每日问28 分钟前
c++右键菜单统一转化文件为utf8编码
c++·windows·python
点云SLAM28 分钟前
C++包装器之类型擦除(Type Erasure)包装器之小对象优化(SBO, Small Buffer Optimization)示例(5)
c++·内存管理·c++高级应用·c++包装器·类型擦除包装器·内存小对象优化
AI视觉网奇29 分钟前
躯体驱动 算法学习笔记
人工智能·算法
魂梦翩跹如雨31 分钟前
P10424 [蓝桥杯 2024 省 B] 好数——Java解答
java·蓝桥杯