Сортировка: различия между версиями

Материал из Энциклопедия вычислительного мышлении
Перейти к навигации Перейти к поиску
(Новая страница: « Категория:Понятие»)
 
Строка 1: Строка 1:
 +
{{Понятие
 +
|Description=Процесс упорядочивания элементов в списке
 +
[[Алгоритм]] для упорядочивания элементов в списке.
 +
|FieldActivity=Computational Thinker
 +
|Возрастная категория=10
 +
|Examples=# Сортировка пузырьком — для каждой пары индексов производится обмен, если элементы расположены не по порядку.
 +
Сортировка вставками (англ. Insertion sort)
 +
}}
 +
=== Сортировка пузырьком ===
 +
<scratchblocks>
 +
when green flag clicked
 +
set [pass v] to [0]
 +
set [swaps v] to [0]
 +
repeat until <<(pass) > [0]> and <(swaps) = [0]>>
 +
  set [item v] to [0]
 +
  change [pass v] by (1)
 +
  set [swaps v] to [0]
 +
  repeat ((length of [data v]) - (1))
 +
    change [item v] by (1)
 +
    if <(item ((item) + (1)) of [data v]) < (item (item) of [data v])> then
 +
      set [value v] to (item ((item) + (1)) of [data v])
 +
      replace item ((item) + (1)) of [data v] with (item (item) of [data v])
 +
      replace item (item) of [data v] with (value)
 +
      change [swaps v] by (1)
 +
    end
 +
  end
 +
end
 +
</scratchblocks>
  
 
+
----
 
[[Категория:Понятие]]
 
[[Категория:Понятие]]

Версия 23:37, 9 октября 2019

Описание [[Description::Процесс упорядочивания элементов в списке

Алгоритм для упорядочивания элементов в списке.]]

Область знаний
Область использования (ISTE) Computational Thinker
Возрастная категория 10
Примеры реализации «E# Сортировка пузырьком — для каждой пары индексов производится обменamples» содержит запрещённый символ «#» и, следовательно, отмечено, как недопустимое., «Eесли элементы расположены не по порядку.

Сортировка вставками (англ. Insertion sort)amples» содержит запрещённый символ «LF» и, следовательно, отмечено, как недопустимое.

Авторы
Поясняющее видео
Близкие понятия
Среды и средства для освоения понятия

Сортировка пузырьком

when green flag clicked
set [pass v] to [0]
set [swaps v] to [0]
repeat until <<(pass) > [0]> and <(swaps) = [0]>>
  set [item v] to [0]
  change [pass v] by (1)
  set [swaps v] to [0]
  repeat ((length of [data v]) - (1))
    change [item v] by (1)
    if <(item ((item) + (1)) of [data v]) < (item (item) of [data v])> then
      set [value v] to (item ((item) + (1)) of [data v])
      replace item ((item) + (1)) of [data v] with (item (item) of [data v])
      replace item (item) of [data v] with (value)
      change [swaps v] by (1)
    end
  end
end