当前位置: 首页 > news >正文

三傻排序

三种时间复杂度为O(n2)的排序

简单来说,冒泡排序就是0i范围上,相邻位置较大的数滚下去,最大值最终来到i位置,然后0i-1范围上继续

选择排序就是in-1范围上,找到最小值并放在i位置,然后i+1n-1范围上继续

插入排序比其他两个优秀一些,

就是0~i范围上已经有序,新来的数从右到左滑到不再小的位置插入,然后继续

class SelectBubbleInsert {
public:// 数组中交换i和j位置的数// C++ 注意:需要传递引用 std::vector<int>& 才能修改原数组static void swap(std::vector<int>& arr, int i, int j) {int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}// 选择排序static void selectionSort(std::vector<int>& arr) {// C++中 vector 不会为 null,但需要检查 sizeif (arr.size() < 2) {return;}// 将 size 转为 int 以避免有符号/无符号整数比较的警告,并匹配 Java 逻辑int n = (int)arr.size();for (int i = 0; i < n - 1; i++) {int minIndex = i;for (int j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}swap(arr, i, minIndex);}}// 冒泡排序static void bubbleSort(std::vector<int>& arr) {if (arr.size() < 2) {return;}int n = (int)arr.size();for (int end = n - 1; end > 0; end--) {for (int i = 0; i < end; i++) {if (arr[i] > arr[i + 1]) {swap(arr, i, i + 1);}}}}// 插入排序static void insertionSort(std::vector<int>& arr) {if (arr.size() < 2) {return;}int n = (int)arr.size();for (int i = 1; i < n; i++) {// 逻辑与 Java 完全一致,利用 && 的短路特性防止越界for (int j = i - 1; j >= 0 && arr[j] > arr[j + 1]; j--) {swap(arr, j, j + 1);}}}// 辅助函数:打印数组(方便测试)static void printArray(const std::vector<int>& arr) {for (int num : arr) {std::cout << num << " ";}std::cout << std::endl;}
}
http://www.jsqmd.com/news/425014/

相关文章:

  • AWR性能报告
  • Gemini 3.0 配合向量引擎,这才是 2026 年程序员的“降维打击”神器!
  • 强化学习TRPO(信任区域策略优化)
  • 5G物理层控制信令深度解析:从PDCCH到PUCCH的核心架构与设计
  • 未对文件 D:\node-v24.14.0-win-x64\node-v24.14.0-win-x64\npm.ps1 进行数字签名
  • 神经网络的基本原理
  • nodejs+php+vue 基于JAVA的动漫周边商城的设计与实现
  • 回归本质:第一性原理思维
  • 微信小程序 停车场预约管理系统
  • 微信小程序 家庭健康管理系统
  • 斯特林数{1,2}{列,行}
  • FPGA实现线性调频LFM,zynq实现线性调频lfmzynq pl ps端都可以实现线性调频
  • 寒假作业(2月23号)
  • 星际之门:宇宙 (Stargate Universe, SGU)
  • 寒假作业(2月24号)
  • 用了这个代码单元测试生成器,摸鱼时间更多了
  • 寒假作业(2月27号)
  • 寒假作业(2月15号)
  • 寒假作业(2月28号)
  • 2026年杭州心理疏导机构推荐,温和疗愈缓解情绪压力 - 品牌鉴赏师
  • 基于节点电价分析的电网对电动汽车接纳能力评估模型研究
  • 寒假作业(2月20号)
  • 寒假作业(2月16号)
  • 寒假作业(2月21号)
  • 寒假作业(2月17号)
  • 寒假作业(2月11号)
  • 寒假作业(2月18号)
  • 寒假作业(2月22号)
  • 《沙丘》(Dune)
  • 寒假作业(2月12号)