Алгоритм пузырьковой сортировки на JavaScript

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы будем работать над задачей по программированию на JavaScript, которая посвящена сортировке массивов с использованием алгоритма пузырьковой сортировки. Целью этого практического занятия является помощь вам понять, как работает алгоритм пузырьковой сортировки, а также дать возможность вам потренировать свои навыки программирования на JavaScript. В конце этого практического занятия вы будете лучше понимать, как реализовать алгоритм пузырьковой сортировки на JavaScript и как использовать его для сортировки массивов чисел.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/data_types -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/arith_ops -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/comp_ops -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/cond_stmts -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/loops -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/array_methods -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} javascript/spread_rest -.-> lab-28180{{"Алгоритм пузырьковой сортировки на JavaScript"}} end

Алгоритм пузырьковой сортировки

Для практики программирования откройте Терминал/SSH и введите node, чтобы запустить. Алгоритм пузырьковой сортировки сортирует массив чисел.

Шаги по сортировке массива с использованием алгоритма пузырьковой сортировки:

  1. Объявите переменную swapped, которая показывает, были ли обменяны какие-либо значения на текущей итерации.

  2. Используйте оператор расширения (...), чтобы клонировать исходный массив arr.

  3. Используйте цикл for, чтобы перебирать элементы клонированного массива, заканчивая перед последним элементом.

  4. Используйте вложенный цикл for, чтобы перебирать отрезок массива между 0 и i, меняя местами любые смежные элементы, расположенные в неправильном порядке, и устанавливая swapped в true.

  5. Если после итерации swapped равно false, больше никаких изменений не требуется, поэтому возвращается клонированный массив.

Пример кода:

const bubbleSort = (arr) => {
  let swapped = false;
  const a = [...arr];
  for (let i = 1; i < a.length; i++) {
    swapped = false;
    for (let j = 0; j < a.length - i; j++) {
      if (a[j + 1] < a[j]) {
        [a[j], a[j + 1]] = [a[j + 1], a[j]];
        swapped = true;
      }
    }
    if (!swapped) return a;
  }
  return a;
};

bubbleSort([2, 1, 4, 3]); // [1, 2, 3, 4]

Резюме

Поздравляем! Вы завершили практическое занятие по пузырьковой сортировке. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.