01-冒泡排序
<body>
<script>
// 冒泡排序:bubble sort
// 定义要排序的数组
let ages = [18, 20, 30, 19, 15, 8, 25, 60, 10]
// 自己实现
// 冒泡特点:遍历,相邻进行比较:位置不对就交换
// for (let i = 0; i < ages.length; i++) {
// // 第一个:ages[i] 第二个:ages[i+1]
// if (ages[i] > ages[i + 1]) {
// // 交换
// let temp = ages[i]
// ages[i] = ages[i + 1]
// ages[i + 1] = temp
// }
// }
// console.log(ages)
// 上面代码只能一次循环搞定一个数字:所有都搞定,外面套一层循环
/* for (let j = 0; j < ages.length; j++) {
for (let i = 0; i < ages.length; i++) {
// 第一个:ages[i] 第二个:ages[i+1]
if (ages[i] > ages[i + 1]) {
// 交换
let temp = ages[i]
ages[i] = ages[i + 1]
ages[i + 1] = temp
}
}
}
*/
// 优化
for (let j = 0; j < ages.length; j++) {
for (let i = 0; i < ages.length - 1 - j; i++) {
// 第一个:ages[i] 第二个:ages[i+1]
if (ages[i] > ages[i + 1]) {
// 交换
let temp = ages[i]
ages[i] = ages[i + 1]
ages[i + 1] = temp
}
}
}
console.log(ages)
console.log(ages.sort(function (a, b) { return b - a }))
</script>
</body>