js有序数组中插入一个元素,并有序的输出

题目:比较传入函数的参数,将参数组成数组,从小到大排序,返回新的数组。数组

如:函数

insert();console.log(arr); //[]
 insert(-1,-2); console.log(arr);//[-2,-1]
 insert(3);console.log(arr);//[-2,-1,3]
 insert(6,4,5);console.log(arr); //[-2,-1,3,4,5,6]

代码实现:spa

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);

题目:比较传入函数的参数,每次只能传入一个参数,将参数组成数组,从小到大排序,返回新的数组。code

var arr = []; var index = 0function 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);

题目:将数组中的元素从小到大排序blog

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)
相关文章
相关标签/搜索