Sıralama Algoritmaları Linear Sort

0
1536
algoritma

Tekrardan merhabalar arkadaşlar. Bu yazımızda Sıralama Algoritmaları Linear Sort ele alacağız. Daha önceki yazımda özel algoritmalara gireceğimi söylemiştim. Bir önceki yazımı okumak için buraya tıklayınız. Önceliği sıralama algoritmalarına veriyorum. Sıralama algoritmalarının temel amacı isminden de anlaşılacağı gibi bir dizi halindeki verileri sıralamaktır. Tabi sıralama işlemi tek şekilde olmuyor. Benim yazılarımda bahsedeceğim sıralama algoritmalarını incelersek;

  • Linear Sort
  • Bubble Sort
  • Merge Sort
  • Selection Sort

Linear Sort

Bu algoritmaların hepsi farklı yöntemler kullanıyor.İnceledikçe göreceğiz.Bu yazımda başlıktan anlaşıldığı gibi Linear Sort’u inceleyecegiz. Linear sort en basit mantıkla sıralama yapabilen bir algoritmadır. Çalışma mantığı şöyle;Her bir eleman kendisinden sonraki elemanla karşılaştırılır eğer daha küçük bir sayıya rastlanırsa da elemanlar yer değiştirilir.Bu işlemin sonunda sıralama işlemi bitmiş olur.Algoritmasını yazarsak;

A1:Başla
A2:Dizinin eleman sayısını gir. (n)
A3:Döngüyü başlat (i=1 den n’e kadar)
A4:dizi[i] elemanlarını girerek diziyi oluştur.
A5:Döngüyü sonlandır.(i,n’e ulaştığı zaman)
A6:Döngüyü başlat(i=1 den n-1’e kadar)
A7:Döngüyü başlat(j=i+1’den n’e kadar)
A8:Eğer dizi[i]>dizi[j] ise yedek=dizi[i],dizi[i]=dizi[j],dizi[j]=dizi[i] işlemlerini yap.
A9:Döngüyü sonandır[j,n’e ulaştığı zaman]
A10:Döngüyü sonlandır(i,n-1 e ulaştığı zaman)
A11:Döngüyü başlat(i=1 den n’e kadar)
A12:dizi[i] yazdır.
A13:Döngüyü sonlandır(i,n’e ulaştığı zaman)
A14:Dur.

Gördüğümüz gibi algoritma olarak incelemek biraz karışık,hemen bir akış diyagramı yardımıyla inceleyelim.

 

Ve C++ kodlarına bakalım;

 
#include <conio.h>

class linsort{
 int dizi[],n;
 public:
 void getdata();
 void showdata();
 void sortLogic();
};

void linsort :: getdata(){
 cout<<"Dizinin eleman sayısı: ";
 cin>>n;
 for(int i=0;i<n;i++)
 cin>>dizi[i];
}

void linsort :: showdata(){
 cout<<"Sıralamadan Sonra";
 for(int i=0;i<n;i++)
 cout<<dizi[i]<<" ";
}

void linsort :: sortLogic(){
 int yedek;
 for(int i=0;i<n;i++){
 for(int j=i;j<n;j++){
 if(dizi[i] > dizi[j]){
 yedek = dizi[i];
 dizi[i] = dizi[j];
 dizi[j] = yedek;
 cout<<"dizi[i] = "<<dizi[i]<<" dizi[j] = "<<dizi[j];
 }
 }
 cout<<endl;
 }
}

void main(){
 clrscr();
 cout<<"Linear Sort";
 linsort obj;
 obj.getdata();
 obj.sortLogic();
 obj.showdata();
 getch();
}

Bu yazımız da burada sona eriyor.Sonraki yazılarımızda görüşmek üzere hoşçakalın…


Paylaşır mısınız?
Önceki İçerikMatematik ve Sonsuzluk Kavramı
Sonraki İçerikAsal Sayılar ve Asal Sayıların Gizemi
Merhabalar.Ben Anıl.19 yaşındayım.Kastamonuluyum.Yıldız Teknik Üniversitesi Bilgisayar Programcılığı 2.sınıf öğrencisiyim.Her konuda yazabilirim.Fakat ağırlıklı olarak algoritma,programlama ve elektronik üzerine yazacağımı düşünüyorum.Saygılarımla...

Düşünceleriniz Nedir?