Показать сообщение отдельно
  #3 (permalink)  
Старый 08.04.2020, 22:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

macsik12,
можно так делать обмен содержимого ячеек, но это более затратно( для тех, кто считает 2ms слишком много, чем 1ms )

let array = [];
for(let i = 0; i < 100; i++) {
  array.push(Math.floor(Math.random() * 100));
}


let last = array.length;
console.time('sort');
for(let i = 0; i < last;) {
  let left = i;
  let right = i+1;
  if(array[left] > array[right]) [array[left], array[right]] = [array[right], array[left]];
  i = i + 1;
  if(i == last-1) {
    last--;
    i = 0;
  }
}
console.timeEnd('sort');
console.log(array)
Ответить с цитированием