Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методичні рекомендації. Сортування - це процес упорядкування набору даних одного типу по зростанню чи спаданню значення якої-небудь ознаки




Лабораторна робота № 29-30. Масиви. Методи сортування.

Сортування - це процес упорядкування набору даних одного типу по зростанню чи спаданню значення якої-небудь ознаки. При сортуванні елементи масиву міняються місцями таким чином, що їхні значення виявляються упорядкованими чи по зростанню, чи по спаданню. Якщо в масиві є однакові елементи, то говорять про сортування чи по неспаданню чи по незростанню. У більшості випадків мова йде про сортування одномірного масиву.

Звичайна постановка задачі по сортуванню масиву виглядає в такий спосіб: програма повинна вивести несортований масив цілих чисел на екран, виконати його сортування, а потім вивести відсортований масив.

Розглянемо два методи сортування по незростанню для того самого масиву m з 20 цілих чисел. Для спостереження поточного стану масиву після кожної перестановки елементів будемо виводити його на екран. Для зручності налагодження і тестування масив задається у вигляді типізованої константи.

Лінійне сортування (сортування добором)

Ідея лінійного сортування по незростанню полягає в тім, щоб, послідовно переглядаючи весь масив, відшукати найбільше число і поміняти його місцями з першим елементом. Потім проглядаються елементи масиву, починаючи з другого, знову знаходиться найбільший, котрий міняється місцями з другим і т.д.

const count=20;

m: array [1..count] of byte = (9,11,12,3,19,1,5,17,10,18,3,19,17,9,12,20,20,19,2,5);

var i,j,buf,l: byte; a: integer;

begin

writeln('Вихідний массив:');

for i:=l to count do write(' ', m[i]);

writeln; readln;

{зміна розміру невідсортованої частини масиву}

for i:=1 to count-1 do

{порівнюємо почергово i-й елемент невідсортованої частини масиву з усіма від i+1-го до кінця}

for j:=i+l to count do

begin

if m[i]<m[j] then

{ якщо в невідсортованій частині масиву знайшли елемент, більший, ніж і-й, то міняємо їх місцями}

begin

buf:=m[i]; { buf — буфер обміну }

m[i]:=m[j];

m[j]:=buf;

end;

for l:=1 to count do write(' ', m[l]); {після сортування}

end;

end.

Сортування методом "бульбашки"

“Бульбашковий” метод сортування – заснований на тому, що в процесі виконання алгоритму більш "легкі" елементи масиву поступово "спливають". Особливістю даного методу є порівняння, а потім, якщо потрібно, і перестановка сусідніх елементів

const count=20;

m: array [1..count] of byte = (9,11,12,3,19,1,5,17,10,18,3,19,17,9,12,20,20,19,2,5);

var i,j,buf,l: byte;

begin

writeln('Вихідний массив:');

for i:=l to count do write(' ',m[i]);

writeln;

readln;

for i:=2 to count do

begin

for j:=count downto i do

begin

if m[j-l]<m[j] then { якщо елемент праворуч більше елемента}

{ ліворуч, то "витісняємо" його вліво - бульбашка "спливає"}

begin

buf:=m[j-l]; { перестановка елементів }

m[j-l]:=m[j];

m[j]:=buf;

end;

for l:=1 to count do write(' ',m[l]);

end;

end;

end.

 

Завдання 1.

Заповнити матрицю розмірності 20х20 елементів випадковими числами. Рядок, номер якого відповідає Вашому варіанту відсортувати одним з методів за неспаданням. Результат вивести на екран.

 

Завдання 2.

Заповнити матрицю розмірності 20х20 елементів випадковими числами. Елементи головної діагоналі відсортувати за незростанням.

 

 




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 461; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.