Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 3 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Sıralama Algoritmaları
#1
Video 
1. ARAYA KOYARAK SIRALAMA




program Project23;

{$APPTYPE CONSOLE}
{$R *.res}

uses
 System.SysUtils;

procedure insertionsort(var dizi: array of Integer);
var
 i, j, gecici: Integer;
begin
 i := low(dizi) + 1;
 while (i < (high(dizi) + 1)) do
 begin
   for j := 0 to i - 1 do
   begin
     if (dizi[i] < dizi[j]) then
     begin
     gecici := dizi[i];
     dizi[i] := dizi[j];
     dizi[j] := gecici;
     dec(i);
     end;
   end;
     inc(i);
 end;

end;

var
dizi:array of integer;
i:integer;
begin
  writeln('Sırasız');
 SetLength(dizi, 25);
   Randomize;
 for I := Low(dizi) to High(dizi) do
 begin
   dizi[i] := Random(1000);
 end;
 for I := Low(dizi) to High(dizi) do
 begin
   writeln(dizi[i]);
 end;

 writeln('Sıralı');
 insertionsort(dizi);
 for I := Low(dizi) to High(dizi) do
 begin
   writeln(dizi[i]);
 end;
 readln;

end.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#2
Hafta başında sıralama algoritmaları ile ilgili belgeseller izliyordum. Bu da aralarında vardı kodu yazmak size kısmet olmuş Smile
Cevapla
#3
(19-10-2017, Saat: 10:00)frmman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHafta başında sıralama algoritmaları ile ilgili belgeseller izliyordum. Bu da aralarında vardı kodu yazmak size kısmet olmuş Smile
C/C++ da yazdıklarımı kendimce Delphi'ye çevirmeye çalışıyorum, çevirebildiklerimi de burada yazıp paylaşıp arkadaşların kafasını şişiriyorum işte.Ayrıca kodu yazarken while döngüsüyle değil for döngüsüyle yazmaya çalıştım ve for döngüsüne ait (sayac olan değişken, genelde 'i' olur) değişkenin döngü içinde değiştirilemediğini öğrendim.Örnekle daha iyi anlatacağım sanırım.

for i:=0 to 10 do
begin
i:=3; //yanlış değiştiremezsin diyor Rad Efendi,döngü içinde atlama yapılmasını,yada bir şekilde döngünün kilitlenmesini engellemek maksat sanırım.
end;

Bir de şu eşittirin önündeki iki noktaları unutmasam delphiyi öğreniyorum diyeceğim ama Smile
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#4
(19-10-2017, Saat: 11:04)savasabd Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(19-10-2017, Saat: 10:00)frmman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHafta başında sıralama algoritmaları ile ilgili belgeseller izliyordum. Bu da aralarında vardı kodu yazmak size kısmet olmuş Smile
C/C++ da yazdıklarımı kendimce Delphi'ye çevirmeye çalışıyorum, çevirebildiklerimi de burada yazıp paylaşıp arkadaşların kafasını şişiriyorum işte.Ayrıca kodu yazarken while döngüsüyle değil for döngüsüyle yazmaya çalıştım ve for döngüsüne ait (sayac olan değişken, genelde 'i' olur) değişkenin döngü içinde değiştirilemediğini öğrendim.Örnekle daha iyi anlatacağım sanırım.

for i:=0 to 10 do
begin
i:=3; //yanlış değiştiremezsin diyor Rad Efendi,döngü içinde atlama yapılmasını,yada bir şekilde döngünün kilitlenmesini engellemek maksat sanırım.
end;

Bir de şu eşittirin önündeki iki noktaları unutmasam delphiyi öğreniyorum diyeceğim ama Smile
Bende c öğreniyorum if(a=5) yazmaktan kendimi alamıyorum :Smile sabitlerle ilgili olduğunda if(5=a) yazmaya alıştırıyorum.
sizden c++ vs delphi makalesi bekliyoruz Smile

“Do. Or do not. There is no try.”
Cevapla
#5
(19-10-2017, Saat: 12:32)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBende c öğreniyorum if(a=5) yazmaktan kendimi alamıyorum :Smile sabitlerle ilgili olduğunda if(5=a) yazmaya alıştırıyorum.
sizden c++ vs delphi makalesi bekliyoruz Smile

Olur inşallah Smile Karşılaştırmaları not alıyorum.Sizde  C vs Pascalı yazarsınızSmile
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#6


Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Cevapla
#7
(19-10-2017, Saat: 13:02)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Bubble ile cocktail ağırlıkla sınıfta kalıyor.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#8
Evet, Bubble ve cocktail facia fakat Almost Sorted sırasında Intersection sort çok ilginç geldi bana da...

2. Quick Sort'da benden gelsin;





program Project2;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

type
  IntArray = Array of Integer;

  procedure QuickSort ( var aDizi: IntArray; aTaban, aTavan: Integer; aSadeceAraliktakiler: Boolean = FALSE);
  var
      Kucuk
    , Buyuk
    , Aradaki
    , Temp   : Integer;
  begin
    Kucuk   := aTaban;
    Buyuk   := aTavan;
    Aradaki := aDizi[ (Kucuk + Buyuk) div 2 ];
    repeat
      while ( aDizi[Kucuk] < Aradaki ) do Inc(Kucuk);
      while ( aDizi[Buyuk] > Aradaki ) do Dec(Buyuk);
      if (Kucuk <= Buyuk) then begin
          Temp := aDizi[Kucuk];
          aDizi[Kucuk] := aDizi[Buyuk];
          aDizi[Buyuk] := Temp;
          Inc(Kucuk) ;
          Dec(Buyuk) ;
      end;
    until (Kucuk > Buyuk);
    if (aSadeceAraliktakiler = FALSE) then begin
        if (Buyuk > aTaban) then QuickSort(aDizi, aTaban, Buyuk);
        if (Kucuk < aTavan) then QuickSort(aDizi, Kucuk, aTavan);
    end;
  end;

var
  BiDizi: IntArray;
  I: Integer;
begin
  SetLength(BiDizi, 10);
  Randomize;
  for I := Low(BiDizi) to High(BiDizi) do BiDizi[I] := Random(1000);

  Writeln('Önce'#13#10);
  for I := Low(BiDizi) to High(BiDizi) do write(Format('[%d]=%d  ', [I, BiDizi[I]]));

  QuickSort(BiDizi, Low(BiDizi), High(BiDizi)) ;
  // QuickSort(BiDizi, 5, 9, TRUE ) ;

  Writeln(#13#10#13#10'Sonra'#13#10);
  for I := Low(BiDizi) to High(BiDizi) do write(Format('[%d]=%d  ', [I, BiDizi[I]]));
  Readln;
end.
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Cevapla
#9
(19-10-2017, Saat: 13:36)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEvet, Bubble ve cocktail facia fakat Almost Sorted sırasında Intersection sort çok ilginç geldi bana da...

Quick Sort'da benden gelsin;
Elinize sağlık.Hem sizden hem diğer arkadaşlardan devamı algoritmalar da gelir de tamamlarız şu sıralama algoritmalarını inşallah.Değilse ben fırsat buldukça yazacağım diğerlerini.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#10
Bir ara çeşitli algoritmaları incelemiştim. 2-3 tanesi çok iyiydi. Yalnız bu birazda ne dizdiğinizle alakalı.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Mysql Büyükten Küçüğe Sıralama Sorunu hakanharbeli 4 171 25-04-2018, Saat: 08:26
Son Yorum: yhackup
  Sıralama Dostk 8 717 10-01-2017, Saat: 09:56
Son Yorum: Bahadir.Alkac



Konuyu Okuyanlar: 1 Ziyaretçi