数据结构之排序:冒泡排序

冒泡排序是一种简单直观的排序算法,通过不断比较相邻元素并交换位置,使较大元素逐渐下沉到序列底部。主要步骤包括多次遍历序列,每次遍历时检查是否需要交换相邻元素。当遍历过程中没有元素交换,说明序列已排序完成。文章提供了Java实现冒泡排序的代码示例,参考了刘小晶和MARK A W的相关著作。
摘要由CSDN通过智能技术生成

冒泡排序(Bubble Sort)

基本思想

将待排序的数组看成从上到下排放,把关键字值较小的记录看成“较轻的”气泡,关键字值较大的看成“较重的”石块,较轻的上浮,较重的下沉。所有的气泡和石块都在相应的位置,则排序结束。

冒泡排序

主要步骤

  1. 置初值i=1
  2. 在无序序列{r[0], r[1], … , r[n-i]}中,从头到尾依次比较相邻的两个记录r[j]与r[j+1],注意0<=j<=n-i-1,如果r[j]>r[j+1],则交换位置
  3. i=i+1
  4. 重复2-3,直到步骤2中未发生记录交换或者i=n-1为止

java实现代码:

/**
     * 冒泡排序1    O(n2)
     * 重量大的下沉,重量小的上浮
     * @param arr
     */
    public static <T extends Comparable<T>> void 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值