js有序数组中插⼊⼀个元素,并有序的输出题⽬:⽐较传⼊函数的参数,将参数组成数组,从⼩到⼤排序,返回新的数组。
如:
insert();console.log(arr); //[]
insert(-1,-2); console.log(arr);//[-2,-1]
insert(3);console.log(arr);//[-2,-1,3]js arguments
insert(6,4,5);console.log(arr); //[-2,-1,3,4,5,6]
代码实现:
var arr = [];
var index = 0;
function insert() {
for(let k = 0; k < arguments.length; k ++) {
console.log(arguments.length);
let num = arguments[k];
//数组本来是有序的,如果i项的值⼤于传⼊的参数,在i项的位置插⼊,
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
index = i;
break;
}
}
//如果插⼊的位置是数组的最后
if (i >= arr.length) {
arr.push(num);
} else {
//如果是数组的中间或者第⼀个位置,则依次将index 开始到数组的最后⼀个元素向后移动⼀位,把index的位置空出来,插⼊新的元素for (let j = arr.length; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[index] = num;
}
}
return arr;
}
insert();
console.log(arr);
insert(-1,-2);
console.log(arr);
insert(3);
console.log(arr);
insert(6,4,5);
console.log(arr);
题⽬:⽐较传⼊函数的参数,每次只能传⼊⼀个参数,将参数组成数组,从⼩到⼤排序,返回新的数组。
var arr = [];
var index = 0;
function insert(num) {
//数组本来是有序的,如果i项的值⼤于传⼊的参数,在i项的位置插⼊,
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
index = i;
break;
}
}
//如果插⼊的位置是数组的最后
if (i >= arr.length) {
arr.push(num);
} else {
/
/如果是数组的中间或者第⼀个位置,则依次将index 开始到数组的最后⼀个元素向后移动⼀位,把index的位置空出来,插⼊新的元素for (let j = arr.length; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[index] = num;
}
return arr;
}
insert(-1);
insert(9);
题⽬:将数组中的元素从⼩到⼤排序
var arr = [2,6,1,4,7];
for(i=0;i<arr.length;i++){ for(j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){
let temp = arr[i];
arr[i] =arr[j];
arr[j] = temp;
}
}
}
console.log(arr)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论