博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序及优化
阅读量:5135 次
发布时间:2019-06-13

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

 

冒泡排序:

  原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,

这样一趟过去后,最大或最小的数字被交换到了最后一位。当i次遍历的时候将找到

第i+1大(小)的数放到倒数第i+1的位置。代码如下:

void bubbleSort(int* arr, int size){    if(arr == NULL)        return;    for(int i=0; i
arr[j+1]) { mySwap(arr[j], arr[j+1]); } } }}

这样的代码,当面对一个已经排好序的数组时将会做很多的无用攻。

排序过程中,当某次遍历中没有进行数据交换,则代表数组已经排好

序了。因此,我们可做适当的改进:

void sort(int* arr, int size){    if(arr == NULL)        return;    for(int i=0; i
arr[j+1]) { mySwap(arr[j], arr[j+1]); nSwapNum++; } } if(nSwapNum == 0) return; }}

 结束!

转载于:https://www.cnblogs.com/wrbxdj/p/4969828.html

你可能感兴趣的文章
理解闭包 js回收机制
查看>>
Mac - 如何安全地还原 Mac 的默认字体
查看>>
ubuntu14.04安装搜狗输入法
查看>>
4.你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
查看>>
日常开发需要掌握的Maven知识
查看>>
Java数据结构和算法(四)--链表
查看>>
JIRA
查看>>
ssl介绍以及双向认证和单向认证原理
查看>>
【BZOJ2441】【中山市选2011】小W的问题(树状数组+权值线段树)
查看>>
Python的字符串
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
对我来说,只有一件事情是重要的
查看>>
完整的Socket代码
查看>>
PE知识复习之PE的导入表
查看>>
POJ 3280 Cheapest Palindrome
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>