算法学习2

学习目录

一.插入排序

从数组的第一个元素开始,当前元素与其前一个元素进行比较;

大于(或小于时)将其进行交换,即当前元素替换到前一位;

再将该元素与替换后位置的前一个元素进行交换,直到不需要交换(或没有前一个元素)就停止当前循环;

然后到该元素原先位置的下一个元素开始进行新一轮的循环;

cpp 复制代码
int arr = {12, 11, 13, 5, 6};
int i, j, key;
    for (i = 1; i < arr.size(); i++) {
        key = arr[i];
        j = i - 1;

        while (j >= 0 && arr[j] > key) {
            arr[j + 1] = arr[j];
            j = j - 1;
        }
        arr[j + 1] = key;
    }
相关推荐
霜羽68929 分钟前
【数据结构篇】排序1(插入排序与选择排序)
数据结构·算法·排序算法
啊我不会诶11 分钟前
CF每日4题(1300-1400)
开发语言·c++·算法
JK0x0718 分钟前
代码随想录算法训练营 Day51 图论Ⅱ岛屿问题Ⅰ
算法·深度优先·图论
freyazzr21 分钟前
Leetcode刷题 | Day64_图论09_dijkstra算法
数据结构·c++·算法·leetcode·图论
MVP-curry-萌神27 分钟前
FPGA学习知识(汇总)
学习·fpga开发
珊瑚里的鱼30 分钟前
【滑动窗口】LeetCode 1004题解 | 最大连续1的个数 Ⅲ
开发语言·c++·笔记·算法·leetcode
L_cl42 分钟前
【Python 算法零基础 4.排序 ② 冒泡排序】
数据结构·python·算法
alphaTao1 小时前
LeetCode 每日一题 2025/5/12-2025/5/18
算法·leetcode
SunsPlanter2 小时前
PotPlayer 安装 madVR、LAV Filters 以提升解码能力和视频音频效果
学习
再看扣你眼2 小时前
系统安全及应用学习笔记
笔记·学习·系统安全