SIRALAMA ALGORİTMALARI-2 ( SHELL SORT )

Yayınlandı: Haziran 22, 2010 / Algoritmalar, C/C++
Etiketler:, , , , , , , , , ,

Sıralama Algoritmaları 8 tanedir.Bunlardan Bazıları;Bubble sort,İnsertion Sort,Shell Sort,Straight Sort vb… Bu Algoritmalar genelde Dizileri sıralamada kullanılır ve herbir algoritmanın çalışma mantığı farklıdır.İşte Shell Sort un icrası aşağıdaki gibidir.

#include<iostream>
using namespace std;

int main()
{
       int *p,boyut;
       cout<<“BOYUTU BELIRLE:”;
       cin>>boyut;
       p=new int [boyut];
       cout<<“Elemanlari belirle….”;
       for(int i=0;i<boyut;i++)
       cin>>p[i];
       cout<<endl;

       int h=1;

       while((3*h+1)<boyut)
         h=3*h+1;
         while(h>0){
                for(int i=h-1;i<boyut;i++)
                {
                int b=p[i];
                int j=i;
                for(j=i;(j>=h)&&(p[j-h]>b);j-=h)
                p[j]=p[j-h];
                p[j]=b;

                }
                 h/=3;

                }

       for(int i=0;i<boyut;i++)
       cout<<p[i]<<” “;

        system (“pause”);
}
MEHMET SALİH DEVECİ

YAZILIM MÜHENDİSİ

Reklamlar
yorum
    • YAZILIM UZMANI dedi ki:

      eeehhh wikipedia ya yetişemeyiz ama onuda yakında sunacam şuanda unixte makaleler yazmaya çalışıyom malum en taze bilgilerimiz o dersten bari onu yazayım dedim..

  1. aylin dedi ki:

    sitenizi chok beğendim bende bilgisayar programlama öğrencisiyim Random la ilgili üretmek istediğim bir kod far bana yardımjı olur musunuz ajaba…??

  2. aylin dedi ki:

    random da bir tane oyun yaptık tek kişilik ben bunu 4 kişilik oyun haleine getirmek istiyorum ama nasıl yapacağimi bir türlü oturtamıyorum

  3. aylin dedi ki:

    Random r=new Random();
    int sayi , toplam=0;
    string a=”E”;

    while (toplam<21 && s=="E")
    {
    sayi=r.next(1,11);
    toplam+=sayi;
    Console.WriteLine ("çekilen sayi {0}, toplam {1}, DevaM etmek istiyor musunuz? E veya H yazınız" , sayi , toplam);
    s=Console.ReadLine ();
    }
    if (toplam21)
    {
    Console.WriteLine(“toplam {0}, Kaybettiniz”,toplam);
    }
    Console.ReadLine();

  4. aylin dedi ki:

    yaptığım kod bu 4 kişilik olması için elimden geleni yapıyorum ama bir yerde hata yapıyorum sanırım nerden başlamalıyım sizje??

  5. BİLGİSAYAR MÜHENDİSİ dedi ki:

    Aylin hanım yapmanız gereken 4 kişinin herbirine bir id değeri atayıp kişileri o id lerle temsil etmektir.Ve soruyu her seferinde bir id ye sorun o bilirse devam etsin bilmezse bir sonraki id ye verin sırayı bunuda bir tek boyutlu ve boyutu 4 olan bir diziyle temsil edebilirsiniz…İyi çalışmalar…

  6. aylin dedi ki:

    çhok teşekkur edrim yardımcı olduğunuz için:)

  7. aylin dedi ki:

    yine ben internet de 2 gündür araştırıyorum c# çalişma performansı bildiklerimin dışında birşey bulamıorum sizje performans olarak c# nasıl tanımlarsınız??

  8. BİLGİSAYAR MÜHENDİSİ dedi ki:

    Yani Yerine göre C# ın performansı çok iyidir ancak yerine göre.Mesela Görüntü işleme de C# pointer desteği sağladığı için Javaya nazaran büyük bir üstünlükle kullanılmaktadır.Ancak Javanın da mesela Web teknolojilerinin esnekliği itibariyle kullanım yüzdesi olarak C# a fark atmış durumda.Yani Aylin hanım sizin Sorduğunuz soruyu belirli bir hale getirmeniz gerekiyor. C# ın hangi ortamda yada hangi uygulamalarda üstünlüğünü yada kötü performansının olup olmadığını araştırıyorsunuz onu söylerseniz daha çok yardımcı olurum…!!!

  9. aylin dedi ki:

    yazılım alanında en ii performansı gösteren program diyebilir miiz? yhogsa c# yerine başka bi program kullanmamız daha mı avantajlı olur? günümüzde en chok tercih edilen nesne tabanlı programlama görsel alanda da chok ii ama bunu tercih etmeyenlerde var o zaman en kötü yönü nedir??

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Aylin hanım yine Spesifik olarak sormadınız sorunuzu…yani dediğim gibi yazılım alanında yapmış olduğunuz uygulamanın çeşidine göre performans değişir…Mesela C# ın en kötü yanlarından birisi Java gibi her yerde her platformda çalışmaz ayrıca microsoft ürünlerde diğerlerine nazaran daha etikilidir ancak aynı koşullardaki java için bunu söyleyeyemeyiz…Nesne tabanlı ve Yazılım alanı dediğiniz alanlar dediğim gibi çok üst katmandır bunların içerisinde çeşitli uygulama katmanları mevcuttur ve bu katmanlarda kimi zaman Javaya kimi zamanda C# a ihtiyaç duyulur…

  10. aylin dedi ki:

    aslında sormak istediğim şey bütün hepsini içeriyordu o yüzden sınırlı sormadım size… en önemlisini söylediniz zaten genel bakış ajısı bunu kendi içinde de sınırlayabiliriz çünkü visual studio bir sürü programı destekliyor. ama c# daha avantajlı diğerleri içinde ben ondan tamamen ayrı onlanları merak ediyordum java örneği gerjekten chok ii oldu tekrar teşekkur edrim…

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Ayrıca Her iki teknolojinin çok sayıda mimarisi ve Framework ları vardır ve bunlar tamamen uygulamanın çeşidine göre birbirlerine üstünlük sağlamaktadırlar..Eğer böyle olmayıpta örneğin Java daha güçlü olsa C# muhtemelen silinirdi tam terside mümkündür…Uygulama tasarlarken bu frameworkleri incelediklten sonra karar vermek en doğrusudur.Yazılım mühendisliği işte bu yüzden vardır…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s