算法介绍之冒泡排序

Posted C语言学习小助手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法介绍之冒泡排序相关的知识,希望对你有一定的参考价值。

    冒泡排序是一种非常简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。越大的元素会经由交换,慢慢“浮”到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样。

村村象表情包

     冒泡排序在编写C语言程序时经常使用,是学习C语言须掌握的排序算法。冒泡排序又叫起泡排序,对n个元素使用冒泡排序,通常需要进行n-1轮比较和交换。



下面以四个水果排序为例,简单介绍冒泡排序算法



      这里有四种水果,分别放在四个果盘上。请调整它们的顺序,使得这些水果按照从小到大排列

算法介绍之冒泡排序



    第一轮第1次:将一号水果盘的苹果与二号水果盘的西瓜比较。小的在前,大的在后,保留原顺序。

算法介绍之冒泡排序



    第一轮第2次将二号水果盘的西瓜与三号水果盘的柚子比较,小的在后,大的在前。


算法介绍之冒泡排序


         交换交换两个水果的位置

算法介绍之冒泡排序



      第一轮第3次将二号水果盘的西瓜与三号水果盘的荔枝比较,小的在后,大的在前。

算法介绍之冒泡排序


交换交换两个水果的位置。第一轮排序完成最大的西瓜排到了最后算法介绍之冒泡排序



第二轮

第二轮排序则不管最后的西瓜

只对前三个水果排序

算法介绍之冒泡排序

算法介绍之冒泡排序

算法介绍之冒泡排序



第三轮 算法介绍之冒泡排序

算法介绍之冒泡排序


四个水果,经过3轮,就可顺序排列。





思考

你能用流程图描述排序算法吗?

n个元素冒泡排序是否必须进行n-1轮?




以上是关于算法介绍之冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

算法介绍之冒泡排序

常用排序算法之冒泡排序选择排序

十大排序算法之冒泡排序

Java排序算法之冒泡排序

详解Java算法之冒泡排序(Bubble Sorting)

详解Java算法之冒泡排序(Bubble Sorting)