Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 10
1

Сортировка вставками. Найти число сравнений и число обменов

14.01.2016, 11:11. Показов 1039. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
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
procedure Sort(var f:file_typ);
var s1,s2:stadt;
    t,i,j:integer;
 
 
begin
Reset(f);
 
If FileSize(f)<=1 then exit;
For j:=1 to FileSize(f)-1 do
  begin
 
    i:=j-1;
    seek(f,j);
    read(f,s2);
    t:=s2.key;
    s1:=s2;
 
    repeat
      seek(f,i);
      read(f,s2);
 
      if t>=s2.key then Break
 
        else
          begin
 
            seek(f,i+1);
            write(f,s2);
            i:=i-1;
          end;
    until i=-1;
    seek(f,i+1);
    write(f,s1);
     end;
     //вывести количество обменов  и сравнений
 
end;
Помогите пожалуйста. Нужно создать 2 переменные, которые будут считать количество сравнений и количество обменов. Куда в коде нужно вставить счетчики сравнений и обменов?

Добавлено через 12 часов 12 минут
Помогите, пожайлуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2016, 11:11
Ответы с готовыми решениями:

Сортировка вставками: количество сравнений и обменов
реализация сортировки вставками где поставить счетчики сравнения и обменов ? вот код: //...

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

Быстрая сортировка: посчитать количество сравнений и обменов
помогите, пожалуйста ) нужно посчитать количество сравнений и обменов в алгоритме &quot;быстрой&quot;...

Сортировка простым выбором - посчитать число обменов
Здравствуйте. Не могу понять как посчитать количество обменов при сортировке простым выбором:( Я...

2
438 / 367 / 132
Регистрация: 09.09.2011
Сообщений: 1,334
14.01.2016, 14:21 2
Кликните здесь для просмотра всего текста

Delphi
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
procedure Sort(var f:file_typ; out num_cmp, num_exch: integer);
var s1,s2:stadt;
    t,i,j:integer;
 
 
begin
num_cmp:=0; // кол-во сравнений
num_exch:=0; //кол-во обменов
Reset(f);
 
inc(num_cmp);
If FileSize(f)<=1 then exit;
For j:=1 to FileSize(f)-1 do
  begin
 
    i:=j-1;
    seek(f,j);
    read(f,s2);
    t:=s2.key;
    s1:=s2;
 
    repeat
      seek(f,i);
      read(f,s2);
      
      inc(num_cmp);
      if t>=s2.key then Break
 
        else
          begin
            inc(num_exch);
            seek(f,i+1);
            write(f,s2);
            i:=i-1;
          end;
    until i=-1;
    inc(num_exch);
    seek(f,i+1);
    write(f,s1);
     end;
end;


в коде программы:
Delphi
1
2
3
4
5
6
7
8
9
10
{...}
var
 ncmp, nexch: integer;
{...}
begin
{...}
  Sort(file_handler, ncmp, nexch);
  writeln('количество сравнений - ', ncmp, ', количество перестановок - ', nexch);
{...}
end.
Добавлено через 2 минуты
в 11 строке наверно не нужно считать сравнение....
1
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 10
14.01.2016, 22:57  [ТС] 3
Спасибо большое!
0
14.01.2016, 22:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2016, 22:57
Помогаю со студенческими работами здесь

Найти третий по величине элемент за наименьшее число сравнений
Здравствуйте. Помогите, пожалуйста, реализовать такой алгоритм: дан список из n элементов. Надо...

Количество обменов и сравнений в HeapSort
Всем доброго времени суток! :) Помогите, пожалуйста, разобраться с задачей. Мне нужно подсчитать...

Ввести число. По выбору пользователя найти его противоположное, вычесть из него это же число, уменьшенное вдвое, или найти обратное число
var n: integer; begin Writeln('Vvedit chislo '); Readln(n); case n of 'n&lt;0' :...

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


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

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