冒泡排序

冒泡排序是一种简单的排序算法,通过重复遍历序列并比较相邻元素,将较大的元素逐步移动到序列末尾。在每趟排序中,最大的元素会被放到正确的位置。当序列已经有序时,可以通过设置标志变量flag来优化,避免不必要的比较。本文详细介绍了冒泡排序的基本思想、排序过程,并给出了Java实现代码。
摘要由CSDN通过智能技术生成
基本思想:  
         将序列中的第1个元素与第2个元素进行比较,若前者大于后者,则将第1个元素与第2个元素进行位置交换,否则不换。  
再将第2个元素与第3个元素进行比较,同样若前者大于后者,则将第2个元素与第3个元素进行位置交换,否则不换。  
以此类推,直到将第n-1个元素与第n个元素进行比较为止。  
这个过程称为第1趟冒泡排序。经过第1趟冒泡排序后,将长度为n的序列中最大的元素置于了序列的尾部,即第n个位置上。  
然后再对剩下的n-1个元素做同样的操作,这叫做第2趟冒泡排序。经过了第2趟的冒泡排序,将剩下的n-1个元素中最大的元素置于了序列的n-1的位置上。  
如此进行下去,当执行完第n-1趟的冒泡排序后,就可以将序列中剩下2个元素中的最大的元素置于了序列的第2个位置上。第1个位置上的元素就是该序列中最小
的元素。  这样冒泡排序完成。  
  元素序列 {3,6,4,2,11,10,6} 的冒泡排序过程如下  
初始状态:{3,6,4,2,11,10,6} 
第1趟排序:{3,4,2,6,10,6,11}  
第2趟排序:{3,2,4,6,6,10,11}  
第3趟排序:{2,3,4,6,6,10,11}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值