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

工程建设工资高吗网站优化入门免费教程

工程建设工资高吗,网站优化入门免费教程,wordpress 防注入广告,营销策略的思路引言 大家好!欢迎来到我的排序算法系列第二篇。今天,我们将学习另一种非常基础且广为人知的排序算法——冒泡排序 (Bubble Sort)。 冒泡排序的名字非常形象,它模拟了水中气泡上升的过程:较小(或较大)的元素会像气泡一样,通过不断交换,逐渐“浮”到数组的一端。 什么是…

引言

大家好!欢迎来到我的排序算法系列第二篇。今天,我们将学习另一种非常基础且广为人知的排序算法——冒泡排序 (Bubble Sort)

冒泡排序的名字非常形象,它模拟了水中气泡上升的过程:较小(或较大)的元素会像气泡一样,通过不断交换,逐渐“浮”到数组的一端。


什么是冒泡排序?

冒泡排序的核心思想是:重复地遍历待排序的序列,每次遍历比较相邻的两个元素,如果它们的顺序错误(例如,在升序排序中,前面的元素大于后面的元素),就交换它们的位置。

这个过程会一直重复,直到在某一次遍历中没有发生任何元素交换,这意味着整个序列已经排序完成。

想象一下:

  1. 第一轮: 从第一个元素开始,依次比较相邻的两个元素。如果顺序不对就交换。这一轮结束后,最大的元素会被移动到数组的末尾
  2. 第二轮: 再次从第一个元素开始,比较相邻元素并交换(如果需要),但这次只需要比较到倒数第二个元素,因为最后一个元素已经是最大的了。这一轮结束后,第二大的元素会被移动到倒数第二的位置。
  3. 重复这个过程: 每一轮都将当前未排序部分的最大元素“冒泡”到其最终位置。比较的范围也逐渐缩小。

算法步骤详解 (以升序为例)

假设我们有数组 [5, 1, 4, 2, 8]

  1. 第 1 轮 (比较 n-1 次 = 4次):

    • 比较 51 -> 1 > 5? 否 -> 5 > 1? 是 -> 交换 -> [1, 5, 4, 2, 8]
    • 比较 54 -> 5 > 4? 是 -> 交换 -> [1, 4, 5, 2, 8]
    • 比较 52 -> 5 > 2? 是 -> 交换 -> [1, 4, 2, 5, 8]
    • 比较 58 -> 5 > 8? 否 -> 不交换 -> [1, 4, 2, 5, 8]
    • 结果: 最大元素 8 已就位。下次只需比较前 4 个。
  2. 第 2 轮 (比较 n-2 次 = 3次):

    • 比较 14 -> 1 > 4? 否 -> 不交换 -> [1, 4, 2, 5, 8]
    • 比较 42 -> 4 > 2? 是 -> 交换 -> [1, 2, 4, 5, 8]
    • 比较 45 -> 4 > 5? 否 -> 不交换 -> [1, 2, 4, 5, 8]
    • 结果: 第二大元素 5 已就位。下次只需比较前 3 个。
  3. 第 3 轮 (比较 n-3 次 = 2次):

    • 比较 12 -> 1 > 2? 否 -> 不交换 -> [1, 2, 4, 5, 8]
    • 比较 24 -> 2 > 4? 否 -> 不交换 -> [1, 2, 4, 5, 8]
    • 结果: 第三大元素 4 已就位。下次只需比较前 2 个。
  4. 第 4 轮 (比较 n-4 次 = 1次):

    • 比较 12 -> 1 > 2? 否 -> 不交换 -> [1, 2, 4, 5, 8]
    • 结果: 第四(小)大元素 2 已就位。数组排序完成。

Java 代码实现

下面提供了两种冒泡排序的 Java 实现:基础版和优化版。

1. 基础冒泡排序 (bubbleSort1)

这是最经典的冒泡排序实现。

import java.util.Arrays;public class BubbleSort { // 类名建议大写开头public static void main(String[] args) {int[] arr = {31, 25, 18, 16, 19, 82, 71
http://www.dtcms.com/wzjs/533625.html

相关文章:

  • 企业家网站建设建设部官方网站查询
  • 深圳 做网站seo域名综合查询
  • 网站建设wuliankj怎么开发平台软件
  • 廊坊做网站上海公司电话wordpress 浏览器缓存
  • 什么网站可以做TCGA病理分期公司以优化为理由裁员合法吗
  • 网站建设期中考试题自学python需要的软件
  • 安徽省建设工程信息网站进不了广州做外贸网站建设
  • 网站建设哪个品牌好wordpress做中文官网
  • 保险网站建设方案网站建设预算申请如何写
  • 重庆建设工程信息网站上海网站建设赢昶
  • 青海省公路建设管理局官方网站上海外贸公司排名榜
  • php网站建设带数据库模板江阴建设银行网站
  • 株洲 网站建设 公司网站外链
  • 长春网站建设推广uc官网网站开发者中心
  • 哪一个网站是专门做兼职的广东省广州市白云区区号
  • 国美在线网站域名建设我想开网站
  • 成都旅游网站建设建立网站站点
  • 阿里云怎样做公司网站南昌网站开发建设
  • 温州专业网站推广青岛餐饮加盟网站建设
  • 管局备案网站武昌建设局网站
  • 贵州省城乡和建设厅网站360搜索引擎首页
  • 哪个网站可以代做软件旅游网站制作建设
  • 做自媒体哪家网站好网站开发名片怎么做
  • 中宁建设局网站文化网站策划
  • 大学生网站规划建设凡网站创建
  • 网站内链有什么用绿色国外网站
  • 网站建设的核心大红门网站建设
  • 设计高端网站建设个人可以注册网站吗
  • 网站开发成本wordpress安装与配置
  • 建设部网站注销一级建造师怎么看一个网站是用什么程序做的