排序算法之冒泡排序
来源:互联网 发布:淘宝客服自动分流不均 编辑:程序博客网 时间:2024/06/08 02:35
趁着重新学习c语言这个机会自己再来学习下排序算法
首先是冒泡排序,这些排序算法在优酷上有不错的生动视频看一下视频可以加深理解。
优酷地址:http://v.youku.com/v_show/id_XMTQwOTEyODU5Mg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2
接下来说说我的理解。冒泡排序,可以想象成水中有很多小水泡,每一次通过两两交换,把底下最大的泡泡浮到水面
那么接下来怎么实现这个两个数的交换?
既然是交换,就得模拟两个可以交换的数,在所有的排序算法中都是用两层循环来解决;第一次循环的从0到N。排了一次,所以要把所有的数排就需要用到两层循环!!
两个for循环
好,那么每一层循环体是怎么实现我们想要的过程呢,这个就关键了。如果循环体是从第一个数开始,第一次循环自然是从0开始,第二层循环从第二个数开始也就是j=i+1;
比较相邻两个数,用 数组下标 j和j+1两个数进行比较
通过整理思路就可以把排序算法理出来了
不管你用啥语言来写,基本套路都是一样的,只是语法上不一样。百度百科上有关于这些经典算法的实现。不过看一篇记不住,看两篇记不住,最后还是得靠理解!!!
先来个c语言的吧:
void maopao( int *nNum,int count ){
int tmp=0;
for( int i=0;i<count;i++ ){
for(int j=0;j<count-i-1;j++){//经过一次排序之后已经排行的的剩余数为 count-i 次
if( nNum[j]>nNum[j+1] ){//如果在本次排序中相邻交换
//交换两个数
tmp = nNum[j];
nNum[j] = nNum[j+1];
nNum[j+1] = tmp;
}
}
}
}
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 【排序算法】之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之-冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法总结
- HDU 3065 病毒侵袭持续中 (AC自动机)
- ABAP几种内表的操作
- 编程程序实现委托,事件。
- mysql case then使用
- 排序算法之冒泡排序
- git 连接不同的服务器地址
- Hibernate 之 Criteria 自我学习
- u32 testsram[250000] __attribute__((at(0X68000000)));
- Leetcode Symmetric Tree
- 【知识库】--git删除远程分支(242)
- cocos2dx导入已有的项目
- 【Linux】中的线程死锁详解
- SSL1333 地鼠的困境(最大匹配)