Put Numbers in Ascending Order


Posted by Christy on 2022-04-23

Description: Write a function named sort that accepts an array and return the array in ascending order

Note: Don’t use built-in function sort() and the numbers in the array will not repeat.

Thought:

Find the minimum value first and push it into a new array and delete the minimum value in the original array and so on.

function findMin(arr) {
  let min = arr[0];
  let minIndex = 0;
  for (let i = 1; i < arr.length; i++) {
    if (min > arr[i]) {
      min = arr[i];
      minIndex = i;
    }
  }
  return minIndex;
}

function sort(arr) {
  let newArr = [];
  let length = arr.length;
  for (let i = 0; i < length; i++) {
    let index = findMin(arr);
    newArr.push(arr[index]);
    arr.splice(index, 1);
  }
  return newArr;
}

console.log(sort([6, 8, 3, 2])); // [2, 3, 6, 8]
console.log(sort([1, 2, 7, 5])); // [1, 2, 5, 7]

Reflection:

The key is to get the index and either delete or push it in an array.










Related Posts

Force update to latest version

Force update to latest version

把問題條列化 - 自主練習

把問題條列化 - 自主練習

第五天:爬蟲【三】

第五天:爬蟲【三】


Comments