<script>
// 创建数组
var str = [2, 4, 3, 5, 1, 7, 6];
/*
冒泡排序:实现让数组里的值从大到小或从小到大排列(冒泡排序也是一种算法)
代码实现:
1.因数组中的元素存在不确定性(前后值大小不同)
2.用双重for循环实现 上面数组里的值的 排列
3.外部循环实现:(外层循环)因str里的第一个值要和后面的值进行比较。i从0开始,i小于str里是数组长度减1(为什么要减1:循环的次数等于数组总长度减一,{可以不减1,只是会多循环一次})i++
4.里层循环实现:因为每个值与后面的值比较的次数都不一样,str.length-i-1,这里的 i 是下标(可以不减一,只是会多循环一次)i++
5.if判断:如果str[j]大于str[j+1](j+1:j=0表示从str里的第一个值开始,j+1是第二个值)
6.交换值:声明一个空变量,让它等于str里的第一个值,在让str里的第一个值等于str里的第二个值,再让str里的第二个值等于空变量(相互交换) 最后输出str
7.这里求的是从小到大 想要从大到小只需要把 if判断里的 大于号 改为 小于号即可 不管以后在原数组中添加多少,多大的数值都可以进行排列
*/
for (var i = 0; i < str.length - 1; i++) {
for (var j = 0; j <= str.length - i - 1; j++) {
if (str[j] > str[j + 1]) {
var sun = str[j];
str[j] = str[j + 1];
str[j + 1] = sun;
}
}
}
console.log(str);
</script>
冒泡排序
最新推荐文章于 2022-03-13 14:21:04 发布