ITPub博客

首页 > IT职业 > IT职场 > 【我就瞎记记,你就瞎看看】小算法-冒泡排序

【我就瞎记记,你就瞎看看】小算法-冒泡排序

IT职场 作者:aleaf2000 时间:2021-09-09 08:59:46 0 删除 编辑

冒泡排序

  • 对样本数组进行比较循环
  • 从头开始依次比较大小,交换位置,然后再跟相邻的下一个数进行比较,再交换位置
  • 一轮比较完毕以后,进行下一次的比较,还是从样本头开始比较,比较次数比上一次的次数减少一次,因为有一个数在上一轮比较中已经归位。

  • 以此类推,循环到最后一个数停止。

例如:

  • $arr = [15, 32, 78,13, 58, 52, 63, 22, 14, 55];
    样本数组的样本总数是10,则要进行$i=(10-1)轮。

  • 每轮再进行10-$i次的相邻数($i的起始值是1)的比较,直至该轮的结束,数字归位
    。

  • 如果是从大到小,那么比较左边的数和右边的数谁更小,更小的向右交换位置,以此类推。直到最小数到达最后面的位置,然后进行下一轮。

代码:

';

//冒泡排序: 外循环的冒泡次数是N-1次。因为若干个数冒泡,样本中的最后一个数是不需要进行排序的
for ($i = 1; $i 

缺点:

  • 时间复杂度为O(N^2),算法较为浪费时间

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/381/viewspace-2798381/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-23

  • 博文量
    0
  • 访问量
    354