8种经典算法之冒泡排序
2015-12-08 21:48
344 查看
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。冒泡排序与选择排序的区别区别在于:冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。而选择排序算法的改进在于:先并不急于调换位置,先从A[1]开始逐个检查,看哪个数最小就记下该数所在的位置P,等一躺扫描完毕,再把A[P]和A[1]对调,这时A[1]到A[10]中最小的数据就换到了最前面的位置。 所以,选择排序每扫描一遍数组,只需要一次真正的交换,而冒泡可能需要很多次。比较的次数是一样的。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> //从小到大排序 var nums=[1,2,33,1,34,99,54,23,54,32,21,456,7765,23]; var tmp; for(var i=0;i<nums.length;i++){ for(var j=i+1;j<nums.length;j++){ if(nums[i]>nums[j]){ tmp=nums[i]; nums[i]=nums[j]; nums[j]=tmp; } } } for(var i=0;i<nums.length;i++){ document.write(nums[i]+"<br>"); } </script> </body> </html>
答案为:
相关文章推荐
- 【Android开发学习笔记】【高级】【随笔】插件化——资源加载
- 链表
- 搭建App主流框架_纯代码搭建(OC)
- 空心三角形
- Ubuntu上apache多端口配置虚拟主机的方法
- zzulioj 题目1808: 小d的翻转游戏(水题,,想法)
- 51nod 1019 逆序数
- 使用文章分类做面包屑导航-函数实现
- OC中@property
- 排序之开场白(一)
- apache配置,禁止指定后缀访问
- 有关struts2
- 【Android游戏开发二十四】360°平滑游戏摇杆(触屏方向导航)
- 3DMAX 8 角色建模2 身体
- 测试PHP代码和页面执行速度的类
- UVALive-2531 The K-League (最大流建模+枚举)
- 计算器软件的代码实现 (windowform窗体+SQL+策略模式)
- Qt5制作鼠标悬停显示Hint的ToolTip
- 知乎日报 API 分析
- 105 Construct Binary Tree from Preorder and Inorder Traversal