Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.03.2020
Сообщений: 17

Как написать компаратор для быстрой сортировки?

27.04.2020, 12:50. Показов 1100. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть быстрая сортировка, как организовать компаратор для неё? Заранее спасибо.

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
uses crt;
 
type
  Mass=array[1..10000001] of longint;
  Func1 = function(a,b:longint):boolean;
 
var
  f:text;
  a:Mass;
  i,j,k,n,first,last:longint;
 
procedure quicksort(var a:Mass; first, last:integer);
var f, l, mid, count:longint;
begin
f:=first;
l:=last;
mid:=a[(f+l) div 2];
repeat
while a[f]<mid do inc(f);
while a[l]>mid do dec(l);
if f<=l then
begin
count:=a[f];
a[f]:=a[l];
a[l]:=count;
inc(f);
dec(l);
end;
until f>l;
if first<l then quicksort(a, first, l);
if f<last then quicksort(a, f, last);
end;
 
begin
 
assign(f,'input.txt');
reset(f);
n:=0;
while not eof(f) do
begin
inc(n);
read(f,a[n]);
end;
close(f);
first:=1; last:=n;
quicksort(a,first,last);
assign(f,'output.txt');
rewrite(f);
writeln(f,'n=', n);
for i:=1 to n do
begin
write(f,a[i], ' ')
end;
close(f);
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2020, 12:50
Ответы с готовыми решениями:

Разработайте рекурсивную процедуру сортировки последовательности методом быстрой сортировки Хоара
Помогите!!!! Дана последовательность чисел a1, a2, ... , an. Разработайте рекурсивную процедуру...

Создать программу реализующую два алгоритма сортировки одномерного массива: методом Шелла и быстрой сортировки
ЗАДАЧА. Создать программу реализующую два алгоритма сортировки одномерного массива: сортировка...

Как переделать данный код быстрой сортировки под определенный числовой массив?
Есть программный код быстрой сортировки под другой числовой массив (7, 12, 25, 3, 17) n=5, c=5...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
27.04.2020, 14:13
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure quicksort(var a:Mass; first, last:integer; func : func1);
var f, l, mid, count:longint;
begin
  f:=first;
  l:=last;
  mid:=a[(f+l) div 2];
  repeat
    while func(a[f], mid) do inc(f);
    while func(mid, a[l]) do dec(l);
    if f<=l then
    begin
      count:=a[f];
      a[f]:=a[l];
      a[l]:=count;
      inc(f);
      dec(l);
    end;
  until f>l;
  if first<l then quicksort(a, first, l, func);
  if f<last then quicksort(a, f, last, func);
end;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2020, 14:13
Помогаю со студенческими работами здесь

Рекурсия: упорядочить массив действительных чисел методом "быстрой сортировки"
Вечер добрый! В который раз прошу помощи с написанием программы, буду очень рад помощи. С...

При обращении к процедуре рекурсивной быстрой сортировки происходит переполнение стека
При обращении к процедуре рекурсивной быстрой сортировки происходит переполнение стека... Хотя...

Прочитать файл F, отсортировать с помощью быстрой сортировки, и записать результат в файл G
дана вот такая задача: создать файл ф в котором были-бы записаны 30 000 чисел в случайном...

Разработать алгоритм быстрой сортировки одномерного массива фиксированной длины
Разработать алгоритм быстрой сортировки одномерного массива фиксированной длины N заполненного...

Отсортировать массив по возрастанию двумя способами – методом «пузырька» и методом «быстрой сортировки» .
Доброго времени суток)Помогите пожалуйста написать вроде поняла быструю сортировку, а как написать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru