关于冒泡排序的写法
首先定义一个数组,这里是没有定义长度的
var i = prompt("想要多长的数组")
先定义一个数组,然后写一个判断,并且进行输入,当数组长度等于你想要获得的长度时,判断结束,跳出循环,它会提示用户输入一个数字,然后创建一个数组,数组的长度等于用户输入的数字。接下来,程序会提示用户输入数组中每个元素的值。最后,程序会将所有输入的值存储在数组中。
var i = prompt("想要多长的数组") // 提示用户输入数组的长度
var arr = new Array() // 创建一个新的数组
for (a = 0; a <= (i - 1); a++) { // 循环,提示用户输入每个元素的值
arr[a] = prompt("请输入第" + a + "个数据")
if (i == a) { // 如果输入的元素数量等于数组长度,退出循环
break;
}
}
然后遍历数组,并进行冒泡排序
for (var x = 0; x <= arr.length; x++) {
for (var y = x; y <= arr.length; y++) {
if (arr[x] < arr[y]) { // 如果第一个元素比第二个元素小
var temp = arr[y] // 存储第二个元素
arr[y] = arr[x] // 将第一个元素赋值给第二个元素
arr[x] = temp // 将存储的第二个元素赋值给第一个元素
}
}
}
进行遍历输出
for (z = 0; z < arr.length; z++) {
document.write(arr[z] + " ")
}
完整代码如下
<script>
var i = prompt("想要多长的数组") // 提示用户输入数组的长度
var arr = new Array() // 创建一个新的数组
for (a = 0; a <= (i - 1); a++) { // 循环,提示用户输入每个元素的值
arr[a] = prompt("请输入第" + a + "个数据")
if (i == a) { // 如果输入的元素数量等于数组长度,退出循环
break;
}
}
//冒泡排序
for (var x = 0; x <= arr.length; x++) {
for (var y = x; y <= arr.length; y++) {
if (arr[x] < arr[y]) { // 如果第一个元素比第二个元素小
var temp = arr[y] // 存储第二个元素
arr[y] = arr[x] // 将第一个元素赋值给第二个元素
arr[x] = temp // 将存储的第二个元素赋值给第一个元素
}
}
}
for (z = 0; z < arr.length; z++) {
document.write(arr[z] + " ")
}
</script>