排序算法——冒泡排序

1. 算法概述

   冒泡排序(Bubble Sort)是借助“交换”进行排序的算法。
  冒泡排序的过程很简单。首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序(即L.r[1].key > L.r[2].key),则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。依次类推,直至第n-1个记录和第n个记录的关键字进行过对比为止。上述过程称作第一趟冒泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上。然后进行第二趟冒泡排序,对前n-1个记录进行同样的操作,其结果是使得关键字次大的记录被安置到第n-1个记录的位置上。随着冒泡排序的进行最后整个序列成为一个有序的序列。显然,判别冒泡排序结束的条件应该是“在一趟排序过程中没有进行过交换记录的操作”。
  下面展示了冒泡排序的一个实例。

2. 算法分析

  分析冒泡排序的效率,容易看出,若初始序列为“正序”,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动记录;反之,若初始序列为“逆序”序列,则需要进行n-1趟排序,需进行n(n-1)/2次比较,并作等数量
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值