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


 

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

77172. Бизнес-план агентства наружной рекламы 464.5 KB
  Наружная реклама ( Outdoor advertising) - одно из основных средств рекламы, носители которого размещаются вне помещений. Данный вид рекламы является наиболее эффективным и перспективным. К основным видам наружной рекламы относят: перетяжки, щиты, суперсайты и брандмауры...
77173. PR И РЕКЛАМА В СРЕДСТВАХ МАССОВОЙ ИНФОРМАЦИИ КАК ЧАСТЬ СИСТЕМЫ БАНКОВСКОГО МАРКЕТИНГА 398.5 KB
  Актуальность выбранной темы определяется также тем, что усиливается необходимость анализа некоторых аспектов деятельности коммерческих банков, нацеленных на вхождение России в мировое хозяйство.
77176. Формирование кадровой политики в ООО «Идеальные окна» 343.35 KB
  Сущность и содержание кадровой политики Кадровая политика организации –генеральное направление кадровой работы совокупность принципов методов форм организационного механизма по выработке целей и задач направленных на...
77177. Проблемы и препятствия на пути воздействия на трудовую мотивацию персонала. Пути совершенствования мотивации труда 324.5 KB
  Государственное управление заключает в себе огромный материальный и человеческий риск. Это прежде всего высокие затраты, опасность ущемления общественного благосостояния, и, вызванная последним, низкая репутация чиновничества и государства в целом в глазах общественности.
77178. Рассмотрите причины конфликтных ситуаций, разработайте программу оптимизации социально-психологического климата в коллективе 316 KB
  Конфликты занимают особое место в жизни человека и общества. Управление ими в организации является одним из важнейших направлений в деятельности руководителя. Конфликт – явление, знакомое каждому человеку.
77179. Разработать систему материального стимулирования сотрудника для повышения эффективности работы предприятия 292.5 KB
  Истинные причины, побуждающие работника максимально прикладывать усилия в работе определить нелегко. Этими условиями являются его желание, возможности, квалификация и, конечно же, мотивация - то есть побуждение. Потребности – это внутренние побуждения к действию.
77180. Технологии проведения политических избирательных кампаний 274 KB
  Это позволяет говорить об избирательной кампании которую в наиболее общем виде можно определить как всю совокупность действий предпринимаемых партиями избирательными объединениями или кандидатами и их командами для достижения своих предвыборных целей.