Hazır Fonksiyonlar 1 - SOFTSAM

Breaking

About Software

1.10.2016

Hazır Fonksiyonlar 1

Merhaba arkadaşlar bugün sizlerle bir kaç hayat kurtaran algoritmadan söz edeceğim.Bunlardan bir tanesini sizlerle paylaşmak istiyorum şimdi benimde işimi kolaylaştırmıştı bir zamanlar.Bahsedeceğim algoritma bir dizi kaydırma algoritması. Buna çoğu zaman ihtiyaç duyarız ve kendimize göre çözümlerimiz vardır. Herkes adına konuşmam doğru olmaz fakat çoğu zaman bu algoritmalar yavaş kalmaktadır.Özellikle benim ürettiğim algoritma istenilen sürede çalışmadı ve bu yazdığınız program için hiç elverişli değildir.emin değilim ama bellekte taşmaya bile gitmiş olabilirim algoritmam ile. Demek istediğim başarılı bir algoritma değildi ve çoğumuzun öyledir diye düşünüyorum.


int shiftRA(int how_many,int SIZE,int index)
 {
       return (index+how_many) % SIZE;
 }

Bu bir sağa kaydırma algoritması başarılı bir algoritma ve sadece matematiksel işlemlere dayanıyor.
Elemanın bulunduğu index i fonksiyona parametre olarak gönderip dizi kaç kere kaydırmak istediğinizi belirttiğinizde -biz ona şimdilik x diyelim- size o index in x kere kaydırıldığında yeni indexi ne olur sorusunun cevabını üretir.

how_many=kaç kere kaydıracağınız
SIZE= dizinizin boyutu(büyüklüğü-elemansayısı)
index=değiştirmek istediğiniz index

bunu bir örnek ile sonlandıralım...



int main()
 {
      int a[5]={1,2,3,4,5};
      int b[5];//dizideki verileri kaybetmemek için yeni bir dizi oluşturduk.
      for(int i=0;i<5 font="" i="">
         b[shiftRA(2,5,i)]=a[i];
 }


bu kodu inceleyip diğer dillere uyarlayabilirsiniz.Eğer uyarlamamı istediğiniz sorun yaşadığınız bir sey olursa yorumlarda belirtin lütfen...

ŞAMİL "SOFTSAM" ÖZÇELİK

Hiç yorum yok:

Yorum Gönder