Показать сообщение отдельно
  #27 (permalink)  
Старый 11.01.2023, 17:41
Аватар для webgraph
Профессор
Отправить личное сообщение для webgraph Посмотреть профиль Найти все сообщения от webgraph
 
Регистрация: 14.11.2014
Сообщений: 186

Сообщение от voraa Посмотреть сообщение
Мы проводили сравнение не push, а вставку в середину массива, используя splice, и вставку в середину списка.
Тут список быстрее. Не надо ничего двигать, а только переписать 6 ссылок.
splice двигает конечную часть массива, освобождая место и меняя все дальнейшие индексы

У push просто запись в конец массива. Ничего двигать не надо.
У shift надо подвинуть весь массив, переписать все индексы
Вот сравните выполнение 100000 раз push и shift

const NA = 100_000;
let arr;
let na = NA;
arr = [];
let s = 'aaaaaa';
console.time('push');

while (na--) arr.push(s);

console.timeEnd('push');

na = NA;
arr = [];
console.time('shift');

while (na--) arr.unshift(s);

console.timeEnd('shift');
Да, про Push и Shift — это очевидные вещи. Но если сравнить вставку в Array и вставку в List ?))
Ответить с цитированием