С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.10.2016
Сообщений: 69
1

Как переделать код сортировки вставкой на быструю сортировку?

18.11.2018, 18:45. Показов 406. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//процедура обмена двух элементов
procedure Swap(var a, b: integer);
var
  tmp: integer;
begin
  tmp := a;
  a := b;
  b := tmp;
end;
 
var
  a: array[0..100 - 1, 0..100 - 1] of integer;
  i, j, k: byte;
  x, n: integer;
 
begin
  readln(n);
  randomize;
  writeln('Исходная матрица:');
  for i := 0 to n - 1 do
  begin
    for j := 0 to n - 1 do
    begin
      a[i, j] := 0 + random(10);
      write(a[i, j]:4);
    end;
    writeln;
  end;
  for i := 0 to n * n - 2 do
    for j := i + 1 to n * n - 1 do
      //выше главной по возрастанию
      if ((i mod n > i div n) and (j mod n > j div n) and (a[i div n, i mod n] > a[j div n, j mod n]))
      //ниже главной по убыванию
      or ((i mod n < i div n) and (j mod n < j div n) and (a[i div n, i mod n] < a[j div n, j mod n]))
        then 
        Swap(a[i div n, i mod n], a[j div n, j mod n]);
  
  writeln;
  writeln('Отсортированная матрица:');
  for i := 0 to n - 1 do
  begin
    for j := 0 to n - 1 do
      write(a[i, j]:4);
    writeln;
  end;
end.
Есть ли возможность ее переделать не особо сильно нагружая при этом процедурами/функциями? В идеале упростить и объяснить (хотя бы комменты ну), но буду рад любым предложениям, от слова совсем. Честно, совсем не догоняю как ее можно переделать, тупой я. Так что хоть чему-то буду рад.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2018, 18:45
Ответы с готовыми решениями:

Переделать быструю сортировку
thirdElem (_,_,c) = c qsort = qsort (h:t) = qsort++++qsort Функция быстрой...

Как оптимизировать быструю сортировку?
Помогите пожалуйста оптимизировать быструю сортировку. Какой лучше выбрать опорный элемент? ...

Как сделать быструю сортировку?
Как сделать быструю сортировку???

Как сделать быструю сортировку в деке?
Я создал дек, и нужно применить к нему быструю сортировку (Обменную сортировка с разделением). А...

0
18.11.2018, 18:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2018, 18:45
Помогаю со студенческими работами здесь

Как вставить счетчик в быструю сортировку?
нужно написать счетчик, какой определяет кол-во перестановок и сравнений в быстрой сортировке ...

Как реализовать быструю сортировку для структуры?
Что нужно поправить? #include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;vector&gt; #include&lt;string&gt;...

Как вызвать функцию, которая производит быструю сортировку
Подскажите пожалуйста, как в С++ вызвать функцию, которая проводит быструю сортировку

Написать код сортировки по минимальному элементу и вставкой
Помогите, пожалуйста, написать код сортировки по минимальному элементу и вставкой. Если можно самым...

Листинг с реализацией сортировки вставками нужно переделать на сортировку Шелла
У меня есть листинг с реализацией сортировки вставками, мне нужно переделать его на сортировку...

Переделать код для сортировки массива на код для сортировки двумерной матрицы
возникла проблема, не могу переделать код для сортировки массива на код для сортировки двумерной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru