Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 16:10   #1
Noiziya
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 2
Печаль Написать сортировки массива- прямое включение и шелла, и сравнить какая из них работает быстрее

Ребят помогите пожалуйста.. надо зачет получить а не успела все задачи сдать(((

Написать сортировки массива- прямое включение и шелла, и сравнить какая из них работает быстрее.. с этим счетчиком ничего не получается у меня(( И сидеть над ней уже некогда, пишу про ферзей... завтра надо обе сдать.. Последняя надежда на вас...
Noiziya вне форума Ответить с цитированием
Старый 29.12.2010, 16:52   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Последняя надежда на Википедию.
Код:
Program lab1;
uses Utils;

const N=1024;
type array_type=array [0..N] of integer;

var
 t1,t2 : Integer;
 x,x2 : array_type;
 i,M : Integer;

procedure InsertSort(var x:array_type;N:integer);
var
  i, j, buf:integer;
begin
  for i:=1 to N do
  begin
    buf:=x[i];
    j:=i-1;
    while (j>=0) and (x[j]>buf) do
    begin
      x[j+1]:=x[j];
      j:=j-1;
    end;
    x[j+1]:=buf;
  end;
end;

procedure ShellSort(var x:array_type; N : Integer);
//Arr -ìàññèâ N -êîëè÷åñòâî ýëåìåíòîâ â ìàññèâå (ðàçìåð)
var
   C : Boolean;
   G : Integer;
   I : Integer;
   J : Integer;
   Tmp : integer;
begin
      g := n div 2;
   repeat
       i := g;
       repeat
           j := i-g;
           c := True;
           repeat
               if x[j]<=x[j+g] then
               begin
                   c := False;
               end
               else
               begin
                   Tmp := x[j];
                   x[j] := x[j+g];
                   x[j+g] := Tmp;
               end;
               j := j-1;
           until  not ((j>=0) and C);
           i := i+1;
       until  not (i<=n);
       g := g div 2;
   until  not (g>0);
end;

begin
read(M);
for i:= 0 to M do begin x[i]:=random(10000);x2[i]:=x[i];end;
//for i:=0 to M do write(x[i],' ');
t1 := MilliSeconds;
InsertSort(x,M);
t2 := MilliSeconds;
writeln(t2-t1);
//for i:=0 to M do write(x[i],' ');
t1 := MilliSeconds;
ShellSort(x2,M);
t2 := MilliSeconds;
writeln(t2-t1);
//for i:=0 to M do write(x2[i],' ');
end.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 29.12.2010, 16:55   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот Шелла:http://www.delphiworld.narod.ru/base/shell_sort.html
Вот Включением:http://fmi.asf.ru/Library/Book/LabInf2/Lab3.html

смысл понятен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2010, 01:00   #4
Noiziya
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 2
По умолчанию

Спасибо огромное.. Разобралась, поняла где допустила ошибки! )))
Noiziya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация сортировки Шелла beginner Помощь студентам 7 24.05.2015 23:47
Почему inc работает быстрее обычного сложения Rusl92 Паскаль, Turbo Pascal, PascalABC.NET 9 26.04.2010 11:58
Windows 7 какая из них? melomandk Windows 1 26.04.2010 08:13
Метод сортировки Шелла SVadiks Помощь студентам 2 03.11.2009 20:17
Seagate - ST3320620AS 320Gb. работает в режиме SATA1 и может работать в двое быстрее, как настроить? MacTiger Компьютерное железо 1 21.04.2009 04:57