Д. М. Златопольский Санкт-Петербург «бхв-петербург» 2011 удк



Pdf көрінісі
бет268/271
Дата04.02.2022
өлшемі7,99 Mb.
#24830
1   ...   263   264   265   266   267   268   269   270   271
Рис. П3.6 
Но если после этого вновь найти минимальный элемент, то им окажется тот 
же самый (найденный ранее) элемент. Чтобы исключить это, надо в исход-
ном  массиве  на  месте  выбранного  записать  число,  превосходящее  любой 
элемент сортируемого массива. Тогда, вновь найдя при втором проходе ми-
нимальный элемент, можно разместить его на втором месте в дополнитель-
ном  массиве  и  т. д.  Итак,  общая  схема  алгоритма  сортировки  рассмотрен-
ным методом имеет вид
нц для i от 1 до n 
  1. Определить минимальный элемент массива. 
  2. Записать его на i-е место в дополнительном массиве
                                                           
1
 Разумеется, можно выбрать и максимальный. В этом случае алгоритм претерпевает минимальные 
изменения. 


Приложение 3. Работа с одномерными числовыми массивами 
277 
  3. В исходном массиве на место минимального элемента 
     записать "большое" число. 
кц 
Что нужно знать, чтобы выполнить этап 3? Во-первых, число, которое пре-
восходит  любой  элемент  сортируемого  массива.  Будем  считать,  что  такое 
число известно. Во-вторых, индекс минимального элемента. Значит, на эта-
пе 1 следует также найти этот индекс (см. задачу П3.42)
В приведенном далее фрагменте программы сортировки массива обсуждае-
мым методом используем величины
 
мин
 — минимальный элемент массива
 
индмин
 — его индекс; 
 
макс
 —  число,  которым  заменяются  минимальные  элементы  исходного 
массива. 
нц для i от 1 до n 
  |1. Находим минимальный элемент массива и его индекс 
  мин := a[1]; индмин := 1 
  нц для j от 2 до n 
    если a[j] < a[индмин] 
      то 
       мин := a[j] 
       индмин := j 
    все 
  кц 
  |2. Записываем минимальный элемент на i-е место в массиве b 
  b[i] := мин 
  |3. Заменяем минимальный элемент исходного массива 
  |   "большим" числом 
  b[i] := макс 
кц 


Достарыңызбен бөлісу:
1   ...   263   264   265   266   267   268   269   270   271




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет