Студопедия Главная Случайная страница Обратная связь

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

Другие методы сортировки





 

Сортировка Шелла быстрее метода пузырька, она похожа на метод пузырька, но, в отличие от него, начинает сравнивать не смежные, а далеко отстоящие друг от друга значения (примерно на N/2) и сортирует все эти значения, а затем уменьшает расстояние между сравниваемыми значениями. На последнем проходе расстояние между ними равно 1 и поэтому фактически этот проход выполняется по методу пузырька.

Сортировка с помощью индекса вместо переупорядочения самих значений в процессе сортировки можно образовать индекс (предметный указатель), в котором отмечаются правильные места значений в массиве. Во время сортировки значения остаются на исходных местах, а изменяется индекс. По окончанию сортировки индекс используется для копирования сортируемых значений в новый массив или служит справочником для работы с исходным массивом.

Если нам требуется отсортировать массив А(100), то надо ввести индекс I(100), лучше всего целочисленный, если такая возможность предусмотрена в системе (это сократит занимаемую массивом память), и задать начальные значения его элементов операторами

FOR L=0 TO 100

I(L) =L

NEXT L

Для индекса должно выполняться соотношение

I(исходная позиция) = новая позиция

поэтому перед началом сортировки I(1) = 1, I(2) = 2 и т. д. При сортировке во время каждого прохода сравниваются значения изА, определенные по I(), а переставляются значения индекса в I().

При введении индекса программа для сортировки методом пузырькапревратится в следующую программу:

REM СОРТИРОВКА С ПРИМЕНЕНИЕМ ИНДЕКСА

FOR L=l TO N

I(L)=L

NEXT L

REM ФРАГМЕНТ ПУЗЫРЬКОВОЙ СОРТИРОВКИ

REM

FOR I=N TO 2 STEP –1

FOR J=l TO I-1

I1=I(J)

I2=I(J+1)

IF A(I1)<A(I2) THEN

I(J)=I2

I(J+1)=I1

ENDIF

NEXT J

NEXT I

REM КОНЕЦ СОРТИРОВКИ С ПРИМЕНЕНИЕМ ИНДЕКСА

Операторы

FOR L = 1 ТО N

PRINT A (L);

NEXT L

распечатают исходный, неизмененный набор значений, а операторы

FOR L = 1 ТО N

I1=I(L)

PRINT A(II)

NEXT L

распечатают отсортированный набор значений.

Пример. Задана целочисленная квадратная матрица. Необходимо упорядочить элементы главной диагонали матрицы по убыванию.

INPUT "Введите размерность матрицы N="; N

DIM A(N, N)

FOR I = 1 TO N

FOR J = 1 TO N

PRINT " A("; I; J; ")=";

INPUT A(I, J)

NEXT J, I

FOR I = 1 TO N - 1

FOR J = I + 1 TO N

IF A(I, I) < A(J, J) THEN

SWAP A(I, I), A(J, J)

END IF

NEXT J, I

FOR I = 1 TO N

FOR J = 1 TO N

PRINT A(I, J);

NEXT J

PRINT

NEXT I

END







Дата добавления: 2015-09-06; просмотров: 352. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Стресс-лимитирующие факторы Поскольку в каждом реализующем факторе общего адаптацион­ного синдрома при бесконтрольном его развитии заложена потенци­альная опасность появления патогенных преобразований...

ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ ЛИЧНОСТИ В современной психологической литературе встречаются различные термины, касающиеся феноменов защиты...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия