news 2026/4/15 10:03:59

经典算法题型之排序算法(三)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
经典算法题型之排序算法(三)

冒泡排序的第二种写法

第二种写法是在第一种写法的基础上改良而来的:

public static void bubbleSort(int[] arr) { // 初始时 swapped 为 true,否则排序过程无法启动 boolean swapped = true; for (int i = 0; i < arr.length - 1; i++) { // 如果没有发生过交换,说明剩余部分已经有序,排序完成 if (!swapped) break; // 设置 swapped 为 false,如果发生交换,则将其置为 true swapped = false; for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 如果左边的数大于右边的数,则交换,保证右边的数字最大 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; // 表示发生了交换 swapped = true; } } } }

最外层的 for 循环每经过一轮,剩余数字中的最大值仍然是被移动到当前轮次的最后一位。这种写法相对于第一种写法的优点是:如果一轮比较中没有发生过交换,则立即停止排序,因为此时剩余数字一定已经有序了。

看下图演示:

图中可以看出:

  • 第一轮排序将数字 6 移动到最右边;
  • 第二轮排序将数字 5 移动到最右边,同时中途将 1 和 2 排了序;
  • 第三轮排序时,没有发生交换,表明排序已经完成,不再继续比较。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 17:00:32

Chart.js插件开发终极指南:从入门到精通的数据可视化扩展

Chart.js插件开发终极指南&#xff1a;从入门到精通的数据可视化扩展 【免费下载链接】Chart.js Simple HTML5 Charts using the canvas tag 项目地址: https://gitcode.com/gh_mirrors/ch/Chart.js 想要让你的数据图表更加个性化&#xff1f;Chart.js插件开发正是实现这…

作者头像 李华
网站建设 2026/4/1 23:20:15

GitHub Wiki文档编写|Miniconda-Python3.11项目知识库建设

GitHub Wiki文档编写&#xff5c;Miniconda-Python3.11项目知识库建设 在人工智能与数据科学项目日益复杂的今天&#xff0c;一个常见的痛点是&#xff1a;“代码在我机器上能跑&#xff0c;在你机器上报错。”这种“环境不一致”问题不仅拖慢开发进度&#xff0c;更严重阻碍科…

作者头像 李华
网站建设 2026/4/11 10:48:21

AlphaFold 3蛋白质结构预测完全指南:从零基础到实战精通

AlphaFold 3蛋白质结构预测完全指南&#xff1a;从零基础到实战精通 【免费下载链接】alphafold3 AlphaFold 3 inference pipeline. 项目地址: https://gitcode.com/gh_mirrors/alp/alphafold3 AlphaFold 3作为当前最先进的蛋白质结构预测工具&#xff0c;通过深度学习技…

作者头像 李华
网站建设 2026/4/13 10:30:14

3步轻松搞定Qwen-Rapid-AIO模型加载:ComfyUI新手实战指南

3步轻松搞定Qwen-Rapid-AIO模型加载&#xff1a;ComfyUI新手实战指南 【免费下载链接】Qwen-Image-Edit-Rapid-AIO 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/Qwen-Image-Edit-Rapid-AIO 还在为Qwen-Rapid-AIO模型在ComfyUI中加载失败而头疼吗&#xff1f;别…

作者头像 李华
网站建设 2026/4/10 21:32:58

Miniconda-Python3.11镜像 + PyTorch:开启高性能AI计算之旅

Miniconda-Python3.11镜像 PyTorch&#xff1a;开启高性能AI计算之旅 在当今 AI 项目日益复杂的背景下&#xff0c;一个常见的场景是&#xff1a;你刚从同事那里拿到一份“能跑通”的代码&#xff0c;满怀期待地在本地运行&#xff0c;结果却卡在了 ImportError: cannot impor…

作者头像 李华
网站建设 2026/4/14 0:31:37

PyTorch模型部署到移动端|Miniconda-Python3.11环境准备

PyTorch模型部署到移动端&#xff5c;Miniconda-Python3.11环境准备 在移动AI应用日益普及的今天&#xff0c;从智能相机的人像分割到语音助手的实时响应&#xff0c;越来越多深度学习功能被嵌入手机端。然而&#xff0c;一个常见却令人头疼的问题是&#xff1a;为什么训练好的…

作者头像 李华