1.选择排序
完整代码:
<script>
let str = prompt("请输入任意个整数,用逗号隔开");
let arr = str.split(',');
console.log("排序前:" + arr);
for (let i = 0; i < arr.length; i++) {
for (let j = i; j < arr.length; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log("排序后:" + arr);
</script>
控制台输出:
具体分析:
首先我们用4个数来比较进行理解 例如 : 1 8 6 3
选择排序通俗地讲 就是
第一轮: 1和8比 1和6比 1和3比
第二轮 :8和6比 8比6大 所以需要交换位置 6和3比 交换位置 1 3 8 6
第三轮: 8和6比 8比6大 所以需要交换位置 1 3 6 8
先用代码演示流程:
<script
for (let i = 0; i < 3; i++) {
for (let j = i; j < 3; j++) {
console.log(i, j + 1);
}
}
</script>
控制台输出:
表示:
第一轮: 0索引 和 1索引比 0索引 和 2索引比 0索引 和 3索引比 0索引 和 4索引比
第二轮: 1索引 和 2索引比 1索引 和 3索引比 1索引 和 4索引比
第三轮: 2索引 和 3索引比 2索引 和 4索引比
第四轮:3索引 和 4索引比
2.冒泡排序
完整代码:
<script>
let str = prompt("请输入任意个个整数,用逗号隔开");
let arr = str.split(',');
console.log("排序前:" + arr);
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log("排序后:" + arr);
</script>
控制台输出:

首先我们还是用4个数来比较进行理解 例如 : 1 8 6 3
冒泡排序通俗地讲 就是
第一轮: 1和8比 8和6比 8比6大 所以需要交换位置 8和3比 比6大 所以需要交换位置 1 6 3 8
第二轮 :6和3比 6比3大 所以需要交换位置 6和8比 1 3 6 8
第三轮: 6和8比 1 3 6 8
先用代码演示流程:
```javascript
<script>
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 4 - i; j++) {
console.log(j, j + 1);
}
}
</script>
控制台输出:
第一轮: 0索引 和 1索引比 1索引 和 2索引比 2索引 和 3索引比 3索引 和 4索引比
第二轮: 0索引 和 1索引比 1索引 和 2索引比 2索引 和 3索引比
第三轮: 0索引 和 1索引比 1索引 和 2索引比
第四轮:0索引 和 1索引比