42553

Швидке сортування

Лабораторная работа

Информатика, кибернетика и программирование

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

Украинкский

2013-10-30

31 KB

2 чел.

Міністерство освіти і науки України

Хмельницький національний університет

Кафедра системного програмування

Лабораторна робота №2

З дисципліни структури даних і алгоритми

Тема: 

«Швидке сортування»

 

                                                                                       Виконав ст. гр. КІ-10-3

                                                                    Матвєєв П.

                                                                                          Перевірив Кльоц Ю. П.

Хмельницький 2011

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

Лістинг програми:

uses crt;

const n=8;

type mas=array[1..n,1..n] of integer;

     tmas=array[1..n] of integer;

var m:mas; m2:tmas;

    i,j: integer;

    t: text;

procedure gen(var m:mas; var t:text);

var i,j:integer;

 begin

 randomize;

 rewrite(t);

 for i:=1 to n do begin

 for j:=1 to n do begin

 m[i,j]:=random(10);

 write(t,m[i,j],' ');

 end;

 writeln(t);

 end;

 close(t);

end;

procedure qsort(var m2:tmas; left,right:integer);

var j:integer;

    l,r:integer;

    temp,sred:integer;

 begin

 l:=left; r:=right;

 sred:=round((left+right) div 2);

 repeat

  while (m2[l]>sred) do inc(l);

  while (m2[r]<sred) do dec(r);

  if l<r then begin

   temp:=m2[l];

   m2[l]:=m2[r];

   m2[r]:=temp;

   inc(l); dec(r);

  end;

  until l>r;

  if left<r then qsort(m2,left,r);

  if l<right then qsort(m2,l,right);

 end;

 procedure regen(var m2:tmas; var t:text);

 var i,j:integer;

  begin

  rewrite(t);

  for j:=1 to n do begin

  write (t,m2[j],' ');

  writeln(t);

  end;

  close(t);

 end;

begin

 assign(t,paramstr(1));

 gen(m,t);

 for i:=1 to n do begin

  for j:=1 to n do m2[j]:=m[i,j];

  qsort(m2,1,n);

  for j:=1 to n do m[i,j]:=m2[j];

  regen(m2,t)

 end;

end.

Результат:

Вміст вихідного файлу:

0 1 2 3 3 3 3 7

0 1 3 4 4 6 6 8

1 1 1 4 5 6 7 8

0 1 1 5 6 8 8 9

0 1 1 1 3 8 8 9

0 1 1 2 4 5 6 9

0 0 1 1 4 4 5 8

2 2 3 3 4 6 6 6


 

А также другие работы, которые могут Вас заинтересовать

83193. ОСНОВНЫЕ ПОДХОДЫ К СТОИМОСТНОЙ ОЦЕНКЕ ОБЪЕКТОВ ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ 70.5 KB
  Отличительными свойствами интеллектуального товара, по сравнению с обычным товаром, являются: редкость, уникальность, конкурентоспособность и другие характеристики. Общим с рынком любого товара является то, что интеллектуальный товар – продукт труда, произведенный для продажи в целях обмена на другие продукты труда или деньги на рынке...
83194. Training for employment in Sweden (Перекваліфікація для працевлаштування у Швеції) 18.38 KB
  Training programs for the unemployed have been cornerstones of labor market policy for many decades. In Sweden, training programs have been used since 1918 and constitute an important part of the so-called Swedish model (or Nordic model) of labor market policy. Among Sweden’s current programs, the employment training program...
83195. Расчётное исследование влияния закона закрутки и тангенциального навала при оптимизации лопаточного аппарата осевого компрессора 707 KB
  В современном турбостроении окончательная доводка проточной части осевого компрессора ОК осуществляется путем трехмерной многокритериальной оптимизации лопаточного аппарата. Современные программные комплексы основанные на методах вычислительной газовой динамики CFD позволяют смоделировать подобное сложное течение что дает возможность уменьшить...
83196. ІНВЕСТИЦІЙНА АКТИВНІСТЬ В НАЦІОНАЛЬНІЙ ЕКОНОМІЦІ УКРАЇНИ: МЕТОДИЧНІ ПІДХОДИ ТА ІНСТРУМЕНТИ ОЦІНКИ 57.12 KB
  У сучасних умовах інвестиції виступають важливим елементом розвитку як національної економіки, так і економіки в цілому. Залучення інвестицій забезпечує науково-технологічний прогрес, стрімке економічне зростання, збільшення показників господарської діяльності країни, регіону, підприємства тощо.
83198. «Моделі протидії» фінансовому шахрайству на ринку фінансових послуг 18.88 KB
  Теорія ризик-менеджменту розглядає шахрайство як один з багатьох компонентів операційних ризиків. Кримінальна відповідальність за шахрайство з фінансовими ресурсами в науці кримінального права є проблемою новою а тому звичайно і недостатньо розробленою.
83199. СТРАТЕГІЧНІ АСПЕКТИ ФІНАНСОВО-ЕКОНОМІЧНОЇ БЕЗПЕКИ ПІДПРИЄМСТВА 53.5 KB
  У сучасних умовах процес успішного функціонування і економічного розвитку вітчизняних підприємств багато в чому залежить від міри забезпечення їх економічної безпеки. Економічна безпека будьякого підприємства це захищеність його діяльності від негативних впливів зовнішнього середовища спроможність швидко усунути різноманітні погрози...
83200. Проблемы высвобождения и конверсии РЧС в Российской Федерации 185 KB
  Государственные решения по регулированию использования частот должны быть направлены на гармонизацию использования радиочастотного спектра в соответствии с международными договорами Российской Федерации (РФ) путем высвобождения и конверсии РЧС. В результате этих решений Постановлением Правительства РФ должна быть определена доля РЧС...
83201. КОМПОЗИЦИОННЫЕ МАТЕРИАЛЫ НА ОСНОВЕ МАГНЕЗИАЛЬНОГО ВЯЖУЩЕГО И СИНТЕТИЧЕСКОГО ВОЛЛАСТОНИТА 56.91 KB
  В статье показана возможность получения композиционных материалов на основе магнезиального вяжущего и синтетического волластонита, полученного на основе электротермофосфорного шлака, с повышенным пределом прочности при сжатии.