Bubble Sort (Bora Usulu Bubble Sort )En Kısa Sıralama Algoritması

0

Tarih : 04-11-2009 | Yazan : Hüseyin Bora | Kategori : Algoritma, C/C++

C/C++ Balon Sıralama Bubble Sort

Amaç

Sırasız, karışık tek boyutlu bir tam sayı dizisini, küçükten büyüğe doğru sıralamak.

void sort(int *Array,int n)
{
for(int i=n-1 ;i>2;i–)
for(int j=0;j<i;j++)
(Array[j]>Array[i])?Array[j]^=Array[i]^=Array[j]^=Array[i]:0;
}

Tabiki kısa olması hızlı olması anlamına gelmiyor. Yinede Quick Sort hızlı çalışacaktır..

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Sınıf Kilitlemesi Sınıflar Arası Döngüler

0

Tarih : 04-11-2009 | Yazan : Hüseyin Bora | Kategori : Algoritma, PHP

Sınıf Kilitlemesi Sınıflar Arası Döngüler

Loop deyimleri kullanılmadan sadece iki sınıf kullanarak bir döngü oluşturula bileceğini biliyor muydunuz?  OPP mekanizması yanış kullanıldığında sistemi aşırı yorabilir.

Aşağıdaki iki sınıf kurucu metotlarında bir birlerini örneklerler A sınıfı kurucu metodunda B sınıfını örekler B sınıfı da kurucu metodunda A sınıfını bu sayede sonsuza uzayan bir döngü oluşturulur ve sistemin kilitlenmesine neden olur.

Dikkat aşağıdaki sınıflar sisteminin kilitlenmesine neden olabilir

class A{

var $b;
function A()
{
$this->b = new B();
echo "<br>A";
}
}
Class B{

var $a;
function B()
{
$this->a= new A();
echo "<br>B";
}
}

new A();

Sınıflara static durağan bir üye eklenerek ve sınıflardan birinde if ile kontrol edilerek bu problem aşılabilir. Aşağıda A ve B sınıflarının her birinden 10 ar adet oluşturan örnek

class A
{

static $say=0;

var $b;
function A()
{
A::$say++;
$this->b = new B();
echo "<br>A ".A::$say;
}
}
class B{

var $a;
function B()
{

if(A::$say!=10)
$this->a= new A();
echo "<br>B ".A::$say;
}
}

new A();
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)