Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.04.2010, 19:30
Аватар для FromShadow
FromShadow FromShadow вне форума
Прохожий
 
Регистрация: 19.04.2010
Адрес: Киев
Сообщения: 3
Репутация: 10
По умолчанию "Быстрая сортировка" двухмерного массива

Здравствуйте, может кто то выложить пример кода "Быстрой сортировки" двухмерного массива?
То поиск по интернету приводит меня к исходникам на другом языке программирования,
либо к другим видам сортировки, а нужна именно "Быстрая сортировка"... Заранее благодарен.
Ответить с цитированием
  #2  
Старый 19.04.2010, 20:32
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Это подойдет?
http://skachivaem.ru/articles/50-del...3--delphi.html
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 19.04.2010, 21:35
Аватар для FromShadow
FromShadow FromShadow вне форума
Прохожий
 
Регистрация: 19.04.2010
Адрес: Киев
Сообщения: 3
Репутация: 10
По умолчанию

Страдалецъ, там исходник для одномерного массива... а нужен для двухмерного...
Ответить с цитированием
  #4  
Старый 19.04.2010, 21:44
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну вот почти оттуда-же:
Вариант 1:
Код:
uses crt;
var a:array[1..20,1..20]of integer;
    n,i,j,sum,k,x:integer;
begin
clrscr;
write('Vvedite razmernost matricy n= ');readln(n);
randomize;
Writeln('Matrica:');
for i:=1 to n do
   begin
     for j:=1 to n  do
       begin
         a[i,j]:=random(21)-10;
         write(a[i,j]:4);
       end;
     writeln;
   end;
readln;
for i:=1 to n do
  begin
   sum:=0;
   for j:=1 to n do
    begin
      sum:=sum+a[i,j];
      a[i,n+1]:=sum;
    end;
  end;
for i:=1 to n-1 do
for k:=1 to n-1 do
if a[k,n+1]>a[k+1,n+1] then
    begin
      for j:=1 to n+1 do
        begin
          x:=a[k,j];
          a[k,j]:=a[k+1,j];
          a[k+1,j]:=x;
       end;
    end;
for i:=1 to n do
    begin
      for j:=1 to n do
      write(a[i,j]:4);
      writeln;
    end;
readln
end.

Вариант 2:
Код:
const n = 4;
m = 6;
var a: array[1..n,1..m] of integer;
a1: array[1..n*m,0..2] of integer;
i,j,i1: integer;
t1,t2,t3: integer;
begin

Randomize;
{Vvodim massiv}
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=Random(9)+1;
a1[(i-1)*m+j,0]:=a[i,j];
a1[(i-1)*m+j,1]:=i;
a1[(i-1)*m+j,2]:=j;
Write(a[i,j]:4);
end;
Writeln;
end;
{Sortiruem dopolnitelniy massiv}
for i:=1 to n*m-1 do begin
for j:=i+1 to n*m do begin
if (a1[i,0]>a1[j,0]){ or
((a1[i,0]>=a1[j,0]) and ((a1[i,1]-1)*m+a1[i,2]>(a1[j,1]-1)*m+a1[j,2]))} then begin
t1:=a1[i,0]; t2:=a1[i,1]; t3:=a1[i,2];
a1[i]:=a1[j];
a1[j,0]:=t1; a1[j,1]:=t2; a1[j,2]:=t3;
end;
end;
end;
{Vozvrashaem v ishodniy massiv otsortirovannie znacheniya}
j:=0; i:=1;
for i1:=1 to n*m do begin
Inc(j);
if j>m then begin
j:=1;
Inc(i);
end;
a[i,j]:=a1[i1,0];
end;
{Vivodim massiv na ekran}
Writeln;
for i:=1 to n do begin
for j:=1 to m do begin
Write(a[i,j]:4);
end;
Writeln;
end;
Readln;
end.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 20.04.2010, 00:14
Аватар для FromShadow
FromShadow FromShadow вне форума
Прохожий
 
Регистрация: 19.04.2010
Адрес: Киев
Сообщения: 3
Репутация: 10
По умолчанию

Насколько я понимаю, это не Быстрая сортировка...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter