Javascript 冒泡排序
来源:互联网 发布:php多线程 swoole 编辑:程序博客网 时间:2024/06/04 19:57
最基本的题目:一个数组,未知长度,按从小到大的顺序进行排列;现在用基本的冒泡排序方法进行排序!
一种思路是先把大的往后排,数组呈逐步减少的状态,排序的过程为:
i=0时,j=0,j<5,j++
8 3 6 1 -2
3 8 6 1 -2
3 6 8 1 -2
3 6 1 8 -2
3 6 1 -2 8
i=1时,j=0,j<4,j++
3 6 1 -2 8
3 6 1 -2 8
3 1 6 -2 8
3 1 -2 6 8
i=2时,j=0,j<3,j++
3 1 -2 6 8
1 3 -2 6 8
1 -2 3 6 8
i=3时,j=0,j<2,j++
1 -2 3 6 8
-2 1 3 6 8
i=4时,j=0,j<1,j++
-2 1 3 6 8
-2 1 3 6 8
具体的实现代码是:
var arr = [8,3,6,1,-2]; var temp; var count=0; for(var i=0; i<arr.length; i++) { for (var j = 0; j < arr.length-i; j++) { if (arr[j + 1] < arr[j]) { temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; count++; //alert("i:"+i+"j:"+j); } } } document.write(arr); document.write("总共循环了"+count);//9另外一种思路是把小的元素往前排,再比较的时候就比较剩下的元素就可以了,i=0先把-2给换到最前边,i=1把1网签拽,数组就剩下8 3 6了 ,数组就越来越小了!
var arr = [8,3,6,1,-2]; var temp; var count=0; for(var i=0; i<arr.length; i++) { for (var j =arr.length-1; j >= i; j--) { if (arr[j + 1] < arr[j]) { temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; count++; } //alert("i:"+i+"j:"+j); } } document.write(arr); document.write("总共循环了"+count);//9当然这两种思路都是冒泡法,5个不重复的元素,循环了9次
- javascript冒泡排序
- Javascript 冒泡排序
- Javascript实现冒泡排序
- javascript数组冒泡排序
- javascript冒泡排序
- javascript冒泡排序
- Javascript冒泡排序
- javascript 冒泡排序
- JavaScript数组冒泡排序
- JavaScript冒泡排序算法
- javascript冒泡排序
- JavaScript 冒泡排序
- 冒泡排序-javascript
- javascript冒泡排序
- javascript--冒泡排序
- javascript实现冒泡排序
- javascript冒泡排序
- JavaScript 冒泡排序
- 在线为Eclipse安装SVN插件
- JavaScript_form表单非空验证;
- maven笔记5
- Service engineering
- Maven 3的10大新特性详解
- Javascript 冒泡排序
- 开始看鸟哥私房菜
- A Custom Group Combo Box 自定义组合下拉框
- maven实战笔记-1
- Rect和RectF的区别
- android中Canvas使用drawBitmap绘制图片
- Java socket
- 用DOS命令备份与还原IP地址的方法
- 线程计数锁:CountDownLatch