Learn Basic Algorithmic Thinking by Building a Number Sorter - Step 39

Tell us what’s happening:

Hi everybody.
What am I missing in this code? My native language is Turkish so I can not understand correctly sometimes. Thank you.

while (j >= 0 && array[j] > currValue) {
array[j + 1] = array[j];
currValue = array[j + 1];
j–;
}

Your code so far

<!-- file: index.html -->

/* file: styles.css */

/* file: script.js */
// User Editable Region

const insertionSort = (array) => {
  for (let i = 1; i < array.length; i++) {
    const currValue = array[i];
    let j = i - 1;

    while (j >= 0 && array[j] > currValue) {
      array[j + 1] = array[j];
      currValue = array[j + 1];
      j--;
    }

  }
}

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36

Challenge Information:

Learn Basic Algorithmic Thinking by Building a Number Sorter - Step 39

This line of code should come after the while loop, not inside it. Also it is back-to-front. You should assign currValue to array[j+1], not the other way around.

Thank you very much, I finally solved it with your reply

1 Like

I made a mistake the other way around, I placed the line outside both the while and the for loop. One really needs to take note that it needs to be outside the while loop but inside the for loop, so the question is after which and before which curly bracket you place the line.