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

Сортировка методом слияния

17.03.2013, 11:58. Показов 1804. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Применяя сортировку методом слияния, отсортировать массив, файл, список, элементами которых является одна и та же совокупность строковых величин. Сравнить время работы программ для каждого случая. Результаты отображать на экране.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2013, 11:58
Ответы с готовыми решениями:

Сортировка массива методом слияния
Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального...

Отсортировать массив C[m] по возрастанию методом слияния.
Отсортировать массив C по возрастанию методом слияния.

Написать программу сортировки методом слияния
Даны две последовательности рассортированных чисел А(15) и В(10). Получить общую последовательность...

сортировка посредством вставок и слияния
прочёл кнута но не понял каким образом выбирать элементы и куда пихать элемент который остается....

3
66 / 66 / 90
Регистрация: 27.02.2013
Сообщений: 156
17.03.2013, 14:44 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот сортировка массива методом слияния:

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
uses crt;
type mas=array[1..1000] of integer;
procedure Sliv(var a:mas;p,q : integer);
var r,i,j,k : integer;
    b:mas;
begin
 r:=(p+q) div 2;
 i:=p;
 j:=r+1;
 for k:=p to q do
 if (i<=r) and ((j>q) or (a[i]<a[j])) then
  begin
   b[k]:=a[i];
   i:=i+1;
  end
  else
  begin
   b[k]:=a[j];
   j:=j+1;
  end ;
  for k:=p to q do
    a[k]:=b[k];
end;
procedure Sort(var a:mas;p,q : integer);
begin
 if p<q then
 begin
  Sort(a,p,(p+q) div 2);
  Sort(a,(p+q) div 2 + 1,q);
  Sliv(a,p,q);
 end;
end;
var a:mas;
    n,i:integer;
begin
 clrscr;
 randomize;
 write('Размер массива n=');
 readln(n);
 writeln('Исходный массив:');
 for i:=1 to n do
  begin
   a[i]:=random(50);
   write(a[i],' ');
  end;
 writeln;
 writeln;
 Sort(a,1,n);
 writeln('Результат сортировки:');
 for i:=1 to n do
 write(a[i],' ');
 readln
end.
Для списка просто вставляете в эту программу список.
0
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 27
17.03.2013, 14:57  [ТС] 3
спасибо)
0
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 27
31.03.2013, 18:23  [ТС] 4
надо чтобы все в одной программе выполнялось. я не знаю как
0
31.03.2013, 18:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2013, 18:23
Помогаю со студенческими работами здесь

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

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array ...

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

Сортировка методом пузырька
Помогите исправить ошибки. Program sortirovka; const m=2; n=3; var a:array of...


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

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

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