Уловки сортировки в Node.js
Сортировка массива с использованием класса таймера:
Подход: сортировка требует посещения каждого элемента, а затем выполнения некоторых операций, что требует цикла for для посещения этих элементов.
Теперь здесь мы можем использовать метод setInterval () для посещения всех этих элементов и выполнения этих операций. И во время посещения мы можем использовать метод setTimer () для посещения всех элементов и распечатать минимум массива за этот период времени.
Метод setInterval () повторяет или перепланирует данную функцию в каждый заданный интервал времени. Он чем-то похож на метод window.setInterval () JavaScript API, однако для его выполнения нельзя передать строку кода.
Синтаксис:
setInterval (timerFunction, millisecondsTime);
Параметры: принимает два параметра, которые упомянуты выше и описаны ниже:
- timerFunction < function >: это функция, которую нужно выполнить.
- millisecondsTime < Time >: указывает период времени между каждым выполнением.
Метод setTimeout () используется для планирования выполнения кода после ожидания в течение определенного количества миллисекунд. Это чем-то похоже на метод window.setTimeout () JavaScript API, однако нельзя передать строку кода для его выполнения.
Синтаксис:
setTimeout (timerFunction, millisecondsTime);
Параметр: принимает два параметра, которые упомянуты выше и описаны ниже:
- timerFunction < function >: это функция, которую нужно выполнить.
- millisecondsTime < Time >: указывает период времени между каждым выполнением.
Примеры:
Ввод: массив = [46, 55, 2, 100, 0, 500] Вывод: [0, 2, 46, 55, 100, 500] Ввод: массив = [8, 9, 2, 7, 18, 5, 25] Вывод: [2, 5, 7, 8, 9, 18, 25]
Пример 1: Имя файла: Index.js
const arr = [10, 50, 100, 500, 0, 200]; var arr1 = []; function sortIt() { for (let i of arr) { // setTimeout(()=> console.log(i), i) setTimeout(()=> { arr1.push(i); arr.splice(arr.indexOf(i), 1); if (arr.length === 0){ console.log(arr1); } }, i) }} sortIt(); |
Выход:
[0, 10, 50, 100, 200, 500]
Пример 2: Имя файла: Index.js
const arr = [10, 50, 100, 500, 0, 200]; var arr1 = []; function sortIt() { for (let i of arr) { // setTimeout(()=> console.log(i), i) setTimeout(()=> { arr1.push(i); i = Math.max.apply( null , arr); // arr.splice(arr.indexOf(i), 1); if (arr1.length === arr.length) { console.log(arr1); } }, i) }} sortIt(); |
Запустите файл Index.js, используя следующую команду.
узел index.js
Выход:
[0, 10, 50, 100, 200, 500]