C++知识点总结(18):排序算法汇总

一、冒泡排序

1. 过程

数组 9 5 8 3 2
第一轮 5 9 8 3 2
5 8 9 3 2
5 8 3 9 2
5 8 3 2 9
第二轮 5 8 3 2 9
5 3 8 2 9
5 3 2 8 9
第三轮 3 5 2 8 9
3 2 5 8 9
第四轮 2 3 5 8 9

2. 规律

一共有 n − 1 n-1 n1 轮,每轮冒 n − i n-i ni 次。
每轮会定一个最大值,通过两两比较,一直冒到最后一个位置。

二、选择排序

1. 过程

下标 1 2 3 4 5 最小值
原始 4 3 5 2 1 /
第一次 1 3 5 2 4 1
第二次 1 2 5 3 4 2
第三次 1 2 3 5 4 3
第四次 1 2 3 4 5 4
完成 1 2 3 4 5 /

2. 规律

一共有 n − 1 n-1 n1 轮,每轮 1 1 1 次。
每轮会定一个最小值,和应该在的地方交换位置。

三、插入排序

1. 过程

下标 1 2 3 4 5
原始 4 3 5 2 1
第一次 1 4 3 5 2
第二次 1 2 4 3 5
第三次 1 2 3 4 5
第四次 1 2 3 4 5
完成 1 2 3 4 5

2. 思路

将待排序元素依次插到已排序序列中的恰当位置,最终形成有序序列的方法。

相关推荐

  1. C++知识总结(18):排序算法汇总

    2024-02-22 06:46:07       43 阅读
  2. C++知识总结(14):桶的排序、冒泡排序

    2024-02-22 06:46:07       48 阅读
  3. C++知识总结(16):结构体排序

    2024-02-22 06:46:07       51 阅读
  4. C++知识总结(19):高级贪心算法

    2024-02-22 06:46:07       43 阅读
  5. C++】知识汇总(下)

    2024-02-22 06:46:07       47 阅读
  6. C++】知识汇总(上)

    2024-02-22 06:46:07       50 阅读
  7. 排序算法总结)-C++

    2024-02-22 06:46:07       34 阅读
  8. 有关HTML知识汇总总结

    2024-02-22 06:46:07       46 阅读
  9. Redis知识汇总表格总结

    2024-02-22 06:46:07       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 06:46:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 06:46:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 06:46:07       82 阅读
  4. Python语言-面向对象

    2024-02-22 06:46:07       91 阅读

热门阅读

  1. 【笔记】flutter 日历年月日自定义国际化显示

    2024-02-22 06:46:07       47 阅读
  2. 图片数据增强

    2024-02-22 06:46:07       42 阅读
  3. xlua源码分析(六) C#与lua的交互总结

    2024-02-22 06:46:07       58 阅读
  4. Unity3D xLua开发环境搭建详解

    2024-02-22 06:46:07       57 阅读
  5. 雪花算法生成分布式主键ID

    2024-02-22 06:46:07       42 阅读
  6. db-gpt docker部署进坑

    2024-02-22 06:46:07       55 阅读
  7. FastGPT配置文件及OneAPI程序:

    2024-02-22 06:46:07       49 阅读
  8. Rust介绍与开发环境搭建

    2024-02-22 06:46:07       63 阅读