var init=[23,12,46,24,87,65,18,14,43,434,65,76]
function bubbleSort(copy) {//创建冒泡函数
var arr=copy.concat();//副本数据
var length=arr.length;//数组长度
for(var i=0;i<length-1;i++){//lengh个数据要排序完,需要length-1次,总有一个是最小的
for (var j = 0; j < length-1-i; j++) {//内部循环每次排序要跑length-1-i次,为什么了,对于已经排到最后的老大,比较也好,不比较也罢,当然为了效率,直接把它减掉是最好的
if(arr[j]>arr[j+1]){//相当于三个杯子换水的问题
var save=arr[j];
arr[j]=arr[j+1];
arr[j+1]=save;
}
}
}return arr;
}
console.log(bubbleSort(init));*
冒泡排序法 口诀:
外层循环 0到n-1 //控制比较轮数 n 表示元素的个数
内层循环 0到n-i-1 //控制每一轮比较次数
相关文章
- 11-29数组元素排序之冒泡排序
- 11-29用函数实现冒泡法排序算法,函数原型为:void BubbleSort(int *a, int n);在 主程序中调用为输入的数组排序。
- 11-29数组使用:反转、工具类、冒泡排序
- 11-29LeetCode:215 数组中的第K个最大元素(堆排序)
- 11-29Net基础篇_学习笔记_第九天_数组_冒泡排序(面试常见题目)
- 11-29关于数组和集合的冒泡排序中容易出现的IndexOutOfBoundsException
- 11-29字符串排序1(指针数组,元素指针,行指针)(strcmp)
- 11-29leetcode(34)---在排序数组中查找元素的第一个和最后一个位置(二分查找)
- 11-29数组中的第K个最大元素(来源力扣)(快速排序、堆排序)
- 11-29数组、冒泡排序、稀疏矩阵、面向对象