排序算法
来源:互联网 发布:xencenter linux 编辑:程序博客网 时间:2024/05/11 13:21
排序:是一串记录,按照其中的某个或者某些关键字的大小,递增或者递减地排序起来的操作。
排序的算法有很多,各种算法对空间的要求及时间效率也各有差别。
今天学习到了两个简单的排序算法——冒泡排序和插入排序。
冒泡排序:
简单地说,冒泡排序就是一次比较相邻的两个数,将小的数往前放,打的数往后放(或者反过来),整个过程就像气泡网上浮一样,所以就形象地称为冒泡排序。
排序:
第一轮:首先比较第1个数和第2个数,将小的数放在前,大的数放后;然后比较第2和第3个数,将小的数放在前,大的数放后,如此反复继续。直至比较最后两个数,将小的数放前,打的数放后;到此为止,第一轮排序结束,最大的数被放到了最后。
第二轮:仍然第一对数开始比较将小数放前,大数放后,一直比较到倒数第二个数(倒数第一个数已经是最大的数了),第二轮结束,在倒数第二的位置上得到一个新的最大值(在整个数列中最大值是倒数第一的数)。
按照这个规律,直至完成排序。
分析:通过上面的分析可以看出,我们假设需要排序的数列有n个数,在第一轮中,需要比较的次数是n-1次,第二轮需要比较的次数是n-2次......每轮减少一次。要实现冒泡排序,可以使用双重for循环实现
实现代码如下:
运行结果输出:
0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 二叉排序树
- 蓝桥杯——趣味数学问题举例二(2017.2.11)
- memcached的LRU删除机制
- HTML5 WebSocket
- pjsua_lib示例之最简单呼叫流程
- 排序算法
- Spring之依赖反转(控制),依赖注入
- 微博
- 架构区别
- ContentProvider之获取手机联系人
- 2017新的一年
- 聚合函数和分组(sum(),count(),group by having)
- node-proxy - node.js反向代理缓存服务器
- 曾经写下的心情,现在想想越活越倒退了