|
|||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Программа сортировки по индексам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 – Алгоритм сортировки по методу Шелла Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.) |