发布时间:2026/8/22 18:00:52
排序-选择排序(Selection Sort)冒泡排序(Bubble Sort) 目录前言冒泡排序思路核心思想时间复杂度O(n^2)代码如下选择排序思路核心思想时间复杂度O(n^2)代码如下选择排序优化思路优化代码如下排序稳定性比较结语前言选择排序与冒泡排序比较简单为补齐排序就讲一下思路与时间复杂度给一下代码。然后补充一下所以排序的稳定性。其他排序快速排序排序-快速排序Quick sort基础版-CSDN博客归并排序排序-归并排序Merge Sort-CSDN博客插入排序排序—插入排序(Insertion Sort)-CSDN博客希尔排序排序-希尔排序(Shell Sort)-CSDN博客冒泡排序思路核心思想重复遍历数组相邻元素两两比较顺序错误则交换。每轮遍历后最大元素浮到末尾。冒泡排序有教学价值但是时间复杂度比较高使用少。时间复杂度O(n^2)代码如下void BubbleSort(int* a, int n) { for (int j 0; j n; j) { // 单趟 int flag 0; for (int i 1; i n - j; i) { if (a[i - 1] a[i]) { Swap(a[i - 1], a[i]); flag 1; } } if (flag 0) { break; } } }选择排序思路核心思想每轮从未排序区间选出最小元素放到已排序区间的开头。时间复杂度O(n^2)不管怎么样时间复杂度都比较高因为选择排序一直都是选择最小的拿出代码如下void SelectionSort(int* a, int n) { for (int i 0; i n-1; i) { int Min i; for (int j i 1; j n; j) { if (a[Min] a[j]) { Min j; } } swap(a[i], a[Min]); } }选择排序优化思路普通单向选择排序每一轮只找最小值放到数组最左边已排序位置只处理一端。这份双向选择排序逻辑两个指针begin左端待排序起点end右端待排序终点一轮遍历区间[begin, end]同时找出mini当前区间最小值下标maxi当前区间最大值下标把最小值交换到a[begin]把最大值交换到a[end]begin左边界右移end--右边界左缩下一轮处理中间剩下的区间while(begin end)循环直到左右指针相遇排序完成优化代码如下void SelectSort(int* a, int n) { int begin 0, end n - 1; while (begin end) { int mini begin, maxi begin; for (int i begin 1; i end; i) { if (a[i] a[maxi]) { maxi i; } if (a[i] a[mini]) { mini i; } } Swap(a[begin], a[mini]); Swap(a[end], a[maxi]); begin; --end; } }排序稳定性比较我这里只比较比较常见的七大排序冒泡快速选择插入希尔堆归并。排序稳定性插入排序稳定希尔排序不稳定选择排序不稳定堆排序不稳定冒泡排序稳定快速排序不稳定归并排序稳定结语谢谢你的观看希望可以给你提供帮助

相关新闻

2026/8/22 18:00:52

连续相位旋转模型:让时序知识图谱与AI智能体记忆动态演化

1. 项目概述:当时间不再是标签“时间不是一个标签”——这句话乍一听有点哲学意味,但在处理时序数据和构建智能体记忆系统时,它却是一个极具颠覆性的技术视角。我们习惯了在知识图谱里给事实贴上一个“时间戳”标签,比如“张三在2…

2026/8/22 18:00:52

3.智能体-Openclaw安装与部署

1. 安装前准备 OpenClaw 官网:https://openclaw.org(请访问官网获取最新文档、下载链接和官方系统要求)。 在开始安装之前,请确保你的开发环境满足以下要求,并完成必要的准备工作,这将有助于后续步骤的顺…

2026/8/22 18:00:52

自媒体号主职业转型指南与求职策略

1. 项目背景解析"号主求职"这个标题看似简单,却蕴含着当前互联网内容创作领域的深层需求。作为一位深耕内容创作领域多年的从业者,我理解这个标题背后反映的是自媒体账号运营者在职业发展转型期的真实诉求。在内容创业领域,"号…

2026/8/22 19:20:57

基于记忆树与关键帧查询的高效3D视觉问答技术解析与实现

在3D视觉问答(3D Question Answering)任务中,如何高效地从海量的3D场景数据中检索出与问题最相关的信息,一直是困扰研究者和开发者的核心难题。传统的暴力遍历或简单采样方法,在面对包含成千上万帧点云或体素的复杂3D序…

2026/8/22 19:20:57

JVM面试题解析与调优实战指南

1. JVM面试题全面解析:从原理到调优实战刚入行Java开发那会儿,每次面试被问到JVM相关问题就头皮发麻。直到后来自己做了面试官才发现,JVM问题之所以成为必考题,是因为它像X光片一样能照出程序员对系统底层的理解深度。今天我就把多…

2026/8/22 19:20:57

从博弈论到AI决策:人机游戏建模的实战解析与MATLAB实现

1. 从一道赛题到一套方法论:人机游戏建模的深度复盘十多年前,当我在电脑前第一次打开那道名为“人机游戏中的数学模型”的赛题文档时,我大概不会想到,这个看似具体的题目,会成为我后来在数据分析、算法设计乃至产品策略…

2026/8/22 19:15:57

3分钟上手ncmdump:NCM转MP3免费搞定,本地拖拽即用

3分钟上手ncmdump:NCM转MP3免费搞定,本地拖拽即用 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump ncmdump 是一个开源工具,把网易云 NCM 转 MP3 全程在本地完成:拖一下就能跑&#xff…

2026/8/21 13:13:49

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 20:14:07

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/21 15:40:01

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/21 15:40:01

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/22 1:39:53

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…