0 / 0 / 0
Регистрация: 24.09.2020
Сообщений: 58
1

Определить количество перестановок и сравнений в сортировке прямого выбора

08.05.2021, 11:16. Показов 919. Ответов 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
const Nmax=100;
label restart;
type MasType=array[1..Nmax] of integer;
 
procedure Swap(var a,b:integer);
var tmp:integer;
begin
 tmp:=a;
 a:=b;
 b:=tmp;
end;
 
function IndMin(mas:MasType; start:integer):integer;
var i,imin:integer;
begin
 imin:=start;
 for i:=start+1 to Nmax do
  if mas[i]<mas[imin] then imin:=i;
 IndMin:=imin;
end;
 
function Max(mas:MasType):integer;
var i,m:integer;
begin
 m:=mas[1];;
 for i:=2 to Nmax do
  if mas[i]>m then m:=mas[i];
  Max:=m;
end;
 
procedure Sort_Choice2(imas:MasType; var nmas:MasType);
var i,im:integer;
begin
 for i:=1 to Nmax do
 begin
  im:=IndMin(imas,1);
  nmas[i]:=imas[im];
  imas[im]:=Max(imas)+1;
 end;
end;
 
procedure Sort_Choice1(var mas:MasType);
var i:integer;
begin
 for i:=1 to Nmax-1 do
  Swap(mas[IndMin(mas,i)],mas[i]);
end;
 
procedure PrintArray(mas:MasType);
var i:integer;
begin
 for i:=1 to Nmax do write(mas[i]:4);
 writeln();
end;
 
{Основная программа}
var X,Y:MasType;
    num,i,sr,per,t:integer;
    q:char;
begin
  randomize;
  for i:=1 to Nmax do
    begin
      X[i]:=random(100);
    end;
  writeln('Исходный массив:');
  PrintArray(X);
  restart:
  writeln('Выберите метод сортировки:');
  writeln('1 - метод прямого выбор (способ 1)');
  writeln('2 - метод прямого выбор (способ 2)');
  readln(num);
  writeln('Отсортированный массив:');
  case num of
   1: begin Sort_Choice1(X); PrintArray(X); end;
   2: begin Sort_Choice2(X,Y); PrintArray(Y); end;
  end;
  write('Завершить работу программы? (y/n)');
  readln(q);
  if (q='n') then goto restart
             else writeln('Программа завершена!');
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2021, 11:16
Ответы с готовыми решениями:

Как определить количество перестановок и сравнений в выборочной сортировке
void choicesSort(int* Array, int length_array) { for (int repeat_counter(0); repeat_counter...

Как определить количество сравнений и перестановок в быстрой сортировке массива
Пробовал сделать счётчики, но они выводили кол-ва для сортировке всех подмассивов, а как вывести...

количество сравнений и перестановок в быстрой сортировке
Здравствуйте, нужна помощь. Нужно посчитать количество сравнений и перестановок в быстрой...

Количество сравнений и перестановок в быстрой сортировке
Доработать программу, чтобы находилось количество перестановок и сравнений двух элементов const...

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

Количество сравнений/перестановок в сортировке естественным слиянием
Добрый день ! Никак не могу понять как создать счётчик и куда его вставить , лазил по форумах и не...

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

Как найти в данной сортировке количество перестановок и сравнений?
void quicksort(int *mas, int first, int last) { int mid, count, m=0; int f=first, l=last;...

Как найти в этой сортировке количество перестановок и сравнений?
Как найти в этой сортировке количество перестановок и сравнений? void InsertSort(int *mas, int...

Определить количество перестановок и сравнений
как вывести для функций перестановки и сравнения?очень нужно)))вот примером для етой: void...

Подсчет перестановок и сравнений в сортировке пузырьком и вставками
from random import random def BubbleSort(a): # функция сортировки пузырьком count = 0 #...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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