TGViewer
CodeRoll | Frontend CodeRoll | Frontend @coderoll · 4.07K subscribers
Post #3100 686
👩‍💻👩‍💻 Как выглядит алгоритм гномьей сортировки на JavaScript?

Алгоритм находит первое место, где два соседних элемента стоят в неправильном порядке и меняет их местами



const gnomeSort = (arr: number[]): number[] => {
if (arr.length <= 1) {
return arr
}

let i: number = 1

while (i < arr.length) {
if (arr[i - 1] <= arr[i]) {
i++ //increment index if sub-array[0:i] already sorted
} else {
;[arr[i], arr[i - 1]] = [arr[i - 1], arr[i]] //swapping two numbers
i = Math.max(1, i - 1) //go back to the previous index to check the swapped number
}
}
return arr
}


Coderoll | Frontend
More from @coderoll
  1. Oct 10, 2026❓ Что такое замыкание (closure) в JavaScript? Ответ: Замыкание — это функция, которая имее…
  2. Oct 9, 2026❓Что такое Lazy Loading? Lazy Loading — это техника отложенной загрузки ресурсов (например…
  3. Oct 8, 2026TsParticles Мощная библиотека для создания интерактивных анимаций частиц, которая легко на…
  4. Oct 7, 2026⚡️Группа хакеров взломала сервера Skillbox, Geekbrains, Skillfactory и ещё 12 онлайн-школ,…
  5. Oct 7, 2026👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript Функции Функции должны дел…
  6. Oct 6, 2026Вопрос с собеседования: ❓Что такое инкапсуляция? Инкапсуляция - это механизм, который объе…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →