Студопедия — Пример 2. Сортировка по возрастанию массива A из N целых чисел.
Студопедия Главная Случайная страница Обратная связь

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

Пример 2. Сортировка по возрастанию массива A из N целых чисел.






Сортировка по возрастанию массива A из N целых чисел.

Приведем текст процедуры сортировки. Описание константы N, типа mas, процедур заполнения массива и вывода массива на экран см. в примере 6.1.

 

Procedure sort(var a:mas);

 

Procedure obmen(x1, x2:integer;

{вспомогательная процедура, выполняющая
обмен значений двух переменных х1 и х2}

var

t:integer;

begin

t:=x1;

x1:=x2;

x2:=t

end;

 

var i, k: integer;

{основная процедура}

begin

for i:=1 to n-1 do

{внешний цикл}

for k:=1 to n-i do

{внутренний цикл, в котором «всплывает»
вверх наибольше из чисел a[1]..a[n-i]}

if a[k]>a[k+1] then obmen(a[k],a[k+1]);

end;

 

Пусть константа N=4, тогда протокол исполнения процедуры sort будет следующий:

действия a i k
передача в процедуру аргумента a
Инд. 1 2 3 4
Знач.        

 

   
i:= 1      
i <= N-1 (1<=3 true)      
k:=1      
k<=n-i (1<=3 true)      
a[k]>a[k+1] (a[1]>a[2] true)      
obmen(a[k],a[k+1])
Инд. 1 2 3 4
Знач.        

 

   
k:=k+1      
k<=n-i (2<=3 true)      
a[k]>a[k+1] (a[2]>a[3] true)      
obmen(a[k],a[k+1])      
 
Инд. 1 2 3 4
Знач.        

 

   
k:=k+1      
k<=n-i (3<=3 true)      
a[k]>a[k+1] (a[3]>a[4] true)      
obmen(a[k],a[k+1])
Инд. 1 2 3 4
Знач.        

 

   
k:=k+1      
k<=n-i (4<=3 false)      
i:=i+1      
i <= N-1 (2<=3 true)      
k:=1      
a[k]>a[k+1] (a[1]>a[1] true)      
obmen(a[k],a[k+1])
Инд. 1 2 3 4
Знач.        

 

   
k:=k+1      
k<=n-i (2<=2 true)      
a[k]>a[k+1] (a[2]>a[3] false)      
k:=k+1      
k<=n-i (3<=2 false)      
i:=i+1      
i <= N-1 (3<=3 true)      
k:=1      
k<=n-i (1<=1 true)      
a[k]>a[k+1] (a[1]>a[2] false)      
k:=k+1      
k<=n-i (2<=1 false)      
i:=i+1      
i <= N-1 (4<=3 false)      
передача в основную программу значения массива а
Инд. 1 2 3 4
Знач.        

 

   






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



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

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

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

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