算法学习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;
    }
相关推荐
linwq811 分钟前
OkHttp使用和源码分析学习(二)
学习·okhttp
肥肠可耐的西西公主15 分钟前
前端(AJAX)学习笔记(CLASS 2):图书管理案例以及图片上传
前端·笔记·学习
陈浩源同学18 分钟前
学习 TypeScript 栈和队列数据结构
前端·算法
夏末秋也凉1 小时前
力扣-回溯-491 非递减子序列
数据结构·算法·leetcode
penguin_bark1 小时前
三、动规_子数组系列
算法·leetcode
kyle~1 小时前
thread---基本使用和常见错误
开发语言·c++·算法
曲奇是块小饼干_2 小时前
leetcode刷题记录(一百零八)——322. 零钱兑换
java·算法·leetcode·职场和发展
贩卖纯净水.2 小时前
REACT学习DAY02(恨连接不上服务器)
服务器·学习·react.js
小wanga2 小时前
【leetcode】滑动窗口
算法·leetcode·职场和发展
少年芒2 小时前
Leetcode 490 迷宫
android·算法·leetcode