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



Pdf көрінісі
бет266/271
Дата04.02.2022
өлшемі7,99 Mb.
#24830
1   ...   263   264   265   266   267   268   269   270   271
Байланысты:
Златопольский Сборник задач по прогр

Таблица П3.7 
Номер прохода по массиву 
Индексы 
1-
й 

– 2 

– 3 
... 
(
 2) – ( 1) 
(
 1) – n 
2-
й 

– 2 

– 3 
 
(
 2) – ( 1) 
 
... 
 
 
 
 
 
(n 
– 1)-й 
1 
– 2 
 
 
 
 
 
Если индекс "левого" элемента в последней паре сравниваемых на каждом 
проходе  чисел  обозначить 
посл_лев
  (соответствующие  значения  в 
табл. П3.7 выделены жирным начертанием), то можно так оформить фраг-
мент программы, осуществляющей сортировку: 
нц для посл_лев от n - 1 до 1 шаг -1 
  нц для лев от 1 до посл_лев 
    если a[лев] > a[лев + 1] 
      то |Проводим обмен 
       ... 
    все 
  кц 
кц 
Можно также в качестве параметра "наружного" оператора цикла использо-
вать  номер  прохода,  а  конечное  значение  параметра  "внутреннего"  опера-
тора цикла связать с номером прохода согласно табл. П3.5. 
нц для номер_прохода от 1 до n - 1 
  нц для лев от 1 до n — номер_прохода 
    если a[лев] > a[лев + 1] 
      то |Проводим обмен 
       ... 
    все 
  кц 
кц 


Приложения 
276 
Можно также прекратить проходы по массиву, как только он станет отсор-
тированным (в общем случае это может произойти менее чем за n – 1 про-
ходов).  Признак,  по  которому  целесообразно  установить  факт  отсортиро-
ванности  массива —  на  каком-то  проходе  обменов  элементов  местами  не 
было. Однако при этом программа усложняется. 


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




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

    Басты бет