博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2】对冒泡排序进行改进
阅读量:5830 次
发布时间:2019-06-18

本文共 1546 字,大约阅读时间需要 5 分钟。

【1】中的冒泡排序,我们稍作修改,代码如下:

/* * 时间:2014年9月23日 09:54:37 * By:xxNote * Blog:http://www.cnblogs.com/xxNote/articles/3987741.html * **/#include 
#define N 10int arr[N] = {8, 6, 78, 45, 65, 22, 13, 46, 51, 80};int num;//排序次数void BubbleSort(void);//从小到大冒泡排序void Show(void);int main(void){ printf("排序前数组是:\n"); Show(); BubbleSort(); return 0;}void BubbleSort(void){ int i, j, tmp;//i是要排序的趟数,j是每趟要排序的次数 for (i=0; i
arr[j+1]) { tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } printf("第%d趟排序后数组是:\n", num++); Show(); } return;}void Show(void){ int i; for (i=0; i

程序的运行结果如下:

 我们看到排序进行0-8共9趟排序,然而在进行了第3趟排序后已经排序完毕,剩下的趟数已经没有必要,因此我们可以设置一个变量flag用来记录本趟有没有进行交换,当本趟比较完的时候发现没有进行交换,那么就说明已经排序完毕直接结束排序即可,代码如下:

/* * 时间:2014年9月23日 09:54:37 * By:xxNote * Blog:http://www.cnblogs.com/xxNote/articles/3987741.html * **/#include 
#define N 10int arr[N] = {8, 6, 78, 45, 65, 22, 13, 46, 51, 80};int num;//排序次数int flag;//记录本趟排序有没有进行交换,1表示本趟进行过交换void BubbleSort(void);//从小到大冒泡排序void Show(void);int main(void){ printf("排序前数组是:\n"); Show(); BubbleSort(); return 0;}void BubbleSort(void){ int i, j, tmp;//i是要排序的趟数,j是每趟要排序的次数 for (i=0; i
arr[j+1]) { tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; flag = 1;//本趟进行过交换 } } printf("第%d趟排序后数组是:\n", num++); Show(); //本趟没进行过交换直接退出 if (flag == 0) { return; } } return;}void Show(void){ int i; for (i=0; i

运行结果:

可以发现运行的趟数减少了,从而提高了效率。

如果你看完后仍有疑问可以添加我的QQ:1548253108进行详细讨论。

转载于:https://www.cnblogs.com/xxNote/articles/3987741.html

你可能感兴趣的文章
信息时代下,如何看待技术与理论
查看>>
NYOJ 503(牛顿迭代)
查看>>
NYOJ 63(小猴子下落)
查看>>
JS浮点数相乘运算解决误差的方法 转载
查看>>
c++安全释放资源
查看>>
javascript 编程规范
查看>>
MVC中如何设置路由指定默认页
查看>>
何如获取单选框中某一个选中的值
查看>>
paip.输入法编程----删除双字词简拼
查看>>
Struct2、Hibernate3、Spring3框架搭建实战(转)
查看>>
同步、异步、阻塞和非阻塞的概念
查看>>
为什么在我眼里你是一只傻逼——傻逼“常所用”句型之(1)——“就算……但是……”...
查看>>
Node_JS
查看>>
数据库选项--数据库状态
查看>>
简记微软实习生面试
查看>>
#linux包之tcpdump之tcpdump命令
查看>>
Hadoop的数据管理
查看>>
AutoCAD 导入 Altium Designer 10 教程
查看>>
HDU 1561 (树形DP+背包)
查看>>
Oracle 表的连接方式(2)-----HASH JOIN的基本机制2
查看>>