冒泡排序
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序的性能并不好,在实际工作中很少用到。但是由于原理比较简单,所以在面试中经常用到。
冒泡排序的思路
- 比较两个相邻元素,如果第一个比第二个大,就交换他们的位置
- 经过第一轮的比较,可以保证最后一位的数是最大的。
- 因为每次最后一位都是最大的无需比较,所以执行n-1轮就可以完成排序。
冒泡排序的时间复杂度
因为有两层循环嵌套,所以时间复杂度是o(n^2)
Array.prototype.bubbleSort = function(){
for(let i =0;i<this.length-1;i++){
for(let j = 0;j<this.length - 1 -i;j++){
if(this[j]> this[j+1]){
let temp = ''
temp = this[j]
this[j] = this[j+1]
this[j+1] = temp
}
}
}
}
let arr = [1,2,3,7,6,5]
arr.bubbleSort()
console.log(arr)
以上就是冒泡排序的简单总结,希望对你有帮助!