总结几种排序算法(一)---冒泡排序
来源:互联网 发布:mysql修复表命令 编辑:程序博客网 时间:2024/05/21 21:52
本文主要对几种常用的排序算法进行总结,排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我主要介绍一下内部排序:
冒泡排序
冒泡排序,不断遍历数组,比较前后两个数,如果前面比较小则交换(从大到小排序),继续向前访问,比较前后,将两者比较大的放在前面,不断遍历,知道某一次遍历,没有交换过任何一个数则说明排序完成。
接下来使用代码对其进行实现:
#-*-coding:utf-8 -*-def exchange(a,b):#交换两个元素 c=a a=b b=c return a,bdef maopaosort(nums): for i in range(len(nums)):#遍历次数最大为数组个数 flag=0#设计标签,如果遍历一遍没有交换任何数,则跳出循环,截止 print i#打印遍历次数 for j in range(len(nums)-1):#本代码采用从前往后遍历,把大的放在前面 if nums[j]<nums[j+1]: nums[j],nums[j+1]=exchange(nums[j],nums[j+1]) flag=1 if flag==0: break return numsnums=[1,3,6,3,7,8,3,2,9,5]new=maopaosort(nums)print nums#结果[9, 8, 7, 6, 5, 3, 3, 3, 2, 1, 0]
Java代码有一个很好的参考资料,网址如下:
http://www.cnblogs.com/eniac12/p/5329396.html
阅读全文
1 0
- 总结几种排序算法(一)---冒泡排序
- 几种排序算法总结(冒泡、选择、插入、快速)
- 常用排序算法总结(一)----冒泡排序,归并排序
- 几种排序算法(冒泡排序算法,选择排序算法,快速排序算法,插入排序)
- 几种常见的排序算法及其复杂度——冒泡排序(一)
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- (一)几种排序算法的学习总结(选择排序与插入排序)
- 排序算法(一)- 冒泡排序
- 排序算法--冒泡排序(一)
- 数据结构--排序算法(一)冒泡排序
- 排序算法(一) 冒泡排序
- 排序算法总结(七)冒泡排序
- 排序算法一(冒泡排序、选择排序、插入排序)
- 排序算法一(冒泡排序、选择排序、插入排序)
- 排序算法《一》冒泡排序
- 排序算法一 冒泡排序
- 排序算法一:冒泡排序
- IOS 身份证校验
- C++写时拷贝(测试用例String类)
- No adapter for handler [public boolean com.fuying.assure.user.login.action.UserManageAction.validIdN
- java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
- 关于descriptionWithLocale和NSLog数组/字典时中文显示unicode
- 总结几种排序算法(一)---冒泡排序
- TensorFlow中,variable_scope和name_scope的不同之处
- iOS UserDefaults存储自定义对象
- 联合体(union)的使用方法及其本质
- ZK框架的分析与应用
- mysql游标
- 算法系列——Copy List with Random Pointer
- 第八届福建省大学生程序设计竞赛 FZU 2277 Change (dfs序+树状数组)
- 父类指针强制转换为子类指针