从左向右遍历,依次比较找出最大值,最后通过交换,把最大值放置最右侧
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
//创建列表类
function ArrayList(){
this.array = []
ArrayList.prototype.insert = function(item){
return this.array.push(item)
}
ArrayList.prototype.toString = function(){
return this.array.join('-')
}
//交换a1和a2的值
ArrayList.prototype.swap = function(m,n){
var temp = this.array[m];
this.array[m] = this.array[n];
this.array[n] = temp;
}
//冒泡算法
ArrayList.prototype.bubbleSort = function(){
var length = this.array.length;
//只比较还没有被排序的部分,每比较一次需要排序的元素就减少一个
for(let j =length-1;j>=0;j--){
for(let i=0;i<j;i++){
//将最大的数字放在数组的末尾
if(this.array[i]>this.array[i+1]){
this.swap(i,i+1)
}
}
}
}
//选择排序
}
var list = new ArrayList()
list.insert(15)
list.insert(10)
list.insert(29)
list.insert(600)
list.insert(100)
list.insert(29)
list.insert(2)
alert(list)
list.bubbleSort()
alert(list)
</script>
</body>
</html>