冒泡排序
2019-01-22 18:20
337 查看
冒泡排序的原理:
将一组数据进行从小到大排序。
第一轮比较:
第一次将第一个数和第二个进行比较,如果第二个数小于第一个数,将这两个数交换位置;
第二次将第二个数和第三个数比较,如果第三个数小于第二个数,将这两个数交换位置;
以此类推,经过第一轮的逐次比较后,最后在最后一位数得到最大的数。
经过多轮比较后,将得到一组按照从小到大顺序排列的数据。这就是冒泡排序。
js实现冒泡排序:
分析:4个数时
i=0 arr[0] arr[1] arr[1] arr[2] arr[2] arr[3] arr[j] arr[j+1] j:0~2 长度-2-i i=1 arr[0] arr[1] arr[1] arr[2] j:0~1 长度-2-i i=2 arr[0] arr[1] j:0 长度-2-i
js部分:
var arr = [20,13,45,8,0,11]; //对arr进行升序排列 //定义一个循环控制轮数 for(var i=0; i<arr.length-1; i++){ //每轮比较相邻两个数 for(var j=0; j<=arr.length-2-i; j++){ if(arr[j] > arr[j+1]){ var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } console.log(arr); /* 此时每轮j的值: 0 1 2 3 4 0 1 2 3 0 1 2 0 1 0 */
相关文章推荐
- 介绍4个常用的排序法。冒泡排序、插入排序、快速排序、选择排序法
- 冒泡排序
- java排序算法之冒泡排序
- Golang 冒泡排序
- 冒泡排序
- 冒泡排序的三种实现
- 冒泡排序
- java实现冒泡排序,设立标志位,减少遍历趟数
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- 排序算法:冒泡排序
- 经典算法2_冒泡排序
- 【算法总结系列-2】有趣的排序-冒泡排序-C++演示
- 空闲复习下冒泡排序看看
- 经典排序算法之冒泡排序
- Java程序实现冒泡排序、直接排序、插入排序方法
- Java数据结构算法之选择排序、插入排序、冒泡排序、二分查找
- PHP算法学习之“简单的交换排序”,“冒泡排序”以及“改进后的冒泡排序”
- 算法系列(三)排序算法上篇--冒泡排序插入排序和选择排序
- Java中两种排序源码:冒泡排序和选择排序法
- 排序(冒泡排序,插入排序,希尔排序,选择排序,堆排序)