关于 冒泡排序
冒泡排序是一种较简单的排序算法
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”
- 基本思想: 冒泡排序,将较大的数沉下去,较小的数冒起来,假设一个随机数字的数组需要从小到大排序,利用冒泡排序,即为较大的数慢慢往后走,较小的数慢慢往前排。
- 每遍历一次,都会将一个最大的数排到序列末尾。
代码
(利用冒泡排序思想的一个例子)
// 声明一个数组
let arr = [10000, 5888, 12000, 6999, 7000, 3000, 4500, 1200, 6000]
// 遍历这个数组
for(var i=0;i<=arr.length;i++){
// 声明一个变量,并赋值(遍历的数据)
let max=arr[i]
// 从下标(1)开始遍历
for(var j=1;j<=arr.length;j++){
// 拿max对比第二个遍历的数组中的数据
if(max>arr[j]){
// 如果arr[j]小于max,那么删除该数据,并且重新给max赋值(等于该数据)
max=arr[j]
arr.splice(j,1)
}
}
}
console.log(arr);