C语言实例解析精粹学习笔记——44(冒泡排序)

博客介绍了冒泡排序的基本原理,即从序列最后一个元素开始与前一个元素比较大小,将最小数据交换到指定位置。还提到通过增加 exchange 变量检查是否交换位置,若未交换则表示数据有序,可结束排序,并给出了书中核心代码的转载链接。

冒泡排序,从序列的最后一个元素与前一个元素比较大小,如果R[n-1]>R[n]则交换两个元素的位置(R[0]作为临时存放区)将最小的数据交换到R[1],第二次循环将第二小的数交换到R[2]。通过增加exchange变量来检查是否交换了位置,如果没有交换位置的话就表示数据是有序的,不需要再进行交换排序了,结束排序。

书中核心代码如下所示:

 1 void Bubble_Sort(int n)
 2 {
 3     int i,j;
 4     int exchange;
 5     for(i=1; i<n; i++)
 6     {
 7         exchange = 0;
 8         for(j=n-1; j>=i; j--)
 9         {
10             if(R[j+1] < R[j])
11             {
12                 R[0]     = R[j+1];   //R[n]是全局变量,要进行排序的序列
13                 R[j+1]   = R[j];
14                 R[j]     = R[0];
15                 exchange = 1
16             }
17         }
18         if(!exchange) return;
19     }
20 }

 

转载于:https://www.cnblogs.com/llccbb1/p/10813099.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值