Почему этот код не выводит соответствующий результат - PullRequest
1 голос
/ 08 мая 2020

Я пытаюсь реализовать визуализатор сортировки в React. У меня есть кнопка, которая при нажатии вызывает функцию selectionSort ():

selectionSort() {
    var arr = this.state;
    console.log(arr);
    var n = arr.length;
    var i = 0;
    var j = 0;
    for (i = 0; i < n; ++i) {
      var min = i;
      for (j = i; j < n; ++j) {
        if (arr[min] > arr[j]) {
          min = j;
        }
      }

      var temp = arr[min];
      arr[min] = arr[i];
      arr[i] = temp;
    }
    console.log("new array", arr);
  }

Однако вторая console.log () должна правильно отдавать отсортированный массив? Это не так, и я не могу понять, что произошло.

1 Ответ

0 голосов
/ 08 мая 2020

Я не вижу здесь проблем, на моем конце все работает нормально.

function selectionSort() {
    var arr = [1,2,4,5,6,3,10,9];
    console.log(arr);
    var n = arr.length;
    var i = 0;
    var j = 0;
    for (i = 0; i < n; ++i) {
      var min = i;
      for (j = i; j < n; ++j) {
        if (arr[min] > arr[j]) {
          min = j;
        }
      }
      var temp = arr[min];
      arr[min] = arr[i];
      arr[i] = temp;
    }
    console.log("new array", arr);
  }
...