c与java冒泡排序区别_冒泡排序在JAVA、C以及PHP中的实现详解

7ebddc7ef334b2c1ae7e363063b354ab.png

冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中。“冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,因此得名。

冒泡算法的C语言实现

b80bdaa3f82e56a81f887d3058862137.png

以对3 2 4 1进行冒泡排序说明。第一轮 排序过程3 2 4 1 (最初)2 3 4 2 (比较3和2,交换)2 3 4 1 (比较3和4,不交换)2 3 1 4 (比较4和1,交换)第一轮结束,最大的数4已经在最后面,因此第二轮排序只需要对前面三个数进行再比较。第二轮排序过程2 3 1 4 (第一轮排序结果)2 3 1 4(比较2和3,不交换)2 1 3 4(比较3和1,交换第二轮结束,第二大的数已经排在倒数第二个位置,所以第三轮只需要比较前两个元素。第三轮排序过程2 1 3 4 (第二轮排序结果)1 2 3 4 (比较2和1,交换)至此,排序结束。

1544c4a1dd7b8782fa2ad73de40beafb.png

冒泡算法的Java实现

5253d41952ef1d72a41915be23251767.png

7937a9e9b91355f6e4ffa7422a5c0fba.png

冒泡算法的PHP实现

以从小到大排序举例:

a7f47d3d34611acedd9889bbd9846e91.gif

设数组长度为N。

1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。

2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。

3.N=N-1,如果N不为0就重复前面二步,否则排序完成。

4e49332334def483ee286ce34a393870.png

应用实例:

假设咱们有几个杂乱无序的数字:4,3,6,2,1,5,那么要通过冒泡排序来将这几个数字按照从小到大的顺序来排序,要怎么做呢?

思路:拿第一个数字跟其他所有数字进行比较,若比它大则交换位置,直到将这些数字中最大的数字冒到最上面,接着再继续第2轮,第3轮,第4轮,第5轮,直到所有大的数组都冒到了上面,这样所有的数据就会按照从小到大来进行排序。

24800b4a0b5f8e9dd70e9d2b0ce370cb.png

用代码来实现如下图:

1e04375b0071242588fb6b0266a7b431.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值