АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Программа сортировки по индексам

Читайте также:
  1. I. РАБОЧАЯ ПРОГРАММА
  2. V. ПРОГРАММА СОРЕВНОВАНИЙ
  3. Анализ ситуации 2000 года («Программа Грефа»)
  4. Антикризисная инвестиционная программа
  5. ВВОДНОГО ИНСТРУКТАЖА (ПРОГРАММА)
  6. ВИДЫ СОРТИРОВКИ
  7. Возникновение рабочего движения в России. Первые рабочие организации: их программа, значение.
  8. Всемирная программа действий в отношении инвалидов
  9. ГЛАВА 3. Константы в программах
  10. Государственная программа национальных действий по пре-дупреждению и преодолению пьянства и алкоголизма на 2011–2015 гг.
  11. Государственная программа профилактики ВИЧ-инфекции на 2011–2015 гг. в республике Беларусь.
  12. Государственная программа Российской Федерации

10 CLS:PRINT"СОРТИРОВКА ПО ИНДЕКСАМ"

20 DEFINT I-N: INPUT"ЧИСЛО ЧИСЕЛ";M:DIM A(M)

25 FOR I=1 TO M:READ A(I):NEXT I

30 FOR I=1 TO M-1

40 FOR K=I+1 TO M

50 IF A(I)<=A(K) THEN 70

60 B=A(I):A(I)=A(K):A(K)=B:GOTO 70

70 NEXT K

80 NEXT I

90 FOR I=1 TO M:PRINT A(I):NEXT I:GOTO 100

95 DATA 44,12,15,4,8,79,11,14,78,22,33,2,1,4,5,7,8,6,1,4,5,6

100 END

Число проходов блока 5 составляет ровно M (M-1)/2.

 

По методу "пузырька" в отличие от метода сортировки по индексам число необходимых сравнений для получения отсортированных чисел зависит от исходной последовательности чисел и равно, например, для ранее отсортированных чисел M-1. Ниже приведены алгоритм (рисунок 2.6) и программа для метода "пузырька".

1

Пуск

2

Ввод M, M – число чисел

A(i),

3

 

 
 

 


4

k = i

 

 
 


5

j = k +1

 

 
 


Да 6

 
 


A(k)<= A(j)

 

Нет

7

B = A(j): A(j)= A(k)

A(k)=B

 
 


8

k = k - 1 10

Вывод A(i),

 

 
 

 


Нет 9 Да 11

k >= 1 Останов Рисунок 2.6 – Алгоритм сортировки по

методу "пузырька"

 

Программа сортировки по методу "пузырька"

10 CLS:PRINT"СОРТИРОВКА ПО BUBBLE"

15 DEFINT I-M: INPUT"ЧИСЛО ЧИСЕЛ";M:DIM A(M)

25 FOR I=1 TO M:READ A(I):NEXT I

30 FOR I=1 TO M-1

40 K=I

44 J=K+1

50 IF A(K)<=A(J) THEN 80

60 B=A(K):A(K)=A(J):A(J)=B:K=K-1

65 IF K>=1 THEN 44

80 NEXT I

90 FOR I=1 TO M:PRINT A(I):NEXT I:GOTO 100

95 DATA 44,12,15,4,8,79,11,14,78,22,33,2,1,4,5,7,8,6,1,4,5,6

100 END

Ниже приведены алгоритм (рисунок 2.7) и программа сортировки по методу Шелла.

1

Пуск

 

Ввод M, M – число чисел

A(i),

D = 1

 

D = 2 D

 

 

Да 5

D <= M

 

Нет

D = int ((D-1)/2)

 

 

D = 0 Да

 

 

8 Нет

 

k = M - D

 

 

 

j = i

 

11 16

 

L = j + D Вывод A(i),

 

12 17

A(L)>= A(j) Да Останов

 

 

Нет

B = A(j): A(j)= A(L)

A(L)=B

 

j = j - D

 

 

Да 15

Нет

j > 0 Рисунок 2.7 – Алгоритм сортировки по методу Шелла


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)