Array (Dizi)
Hafızada dil tarafından ardışık olarak tutulan özdeş bölümlere verilen isimdir.
Yani basitçe bir değişken tek bir bilgi birimi tutabilirken bu değişkenlerden birden fazla adışık uniteye ihtiyaç duyulursa dizi tanımlanabilir.
C/C++ dilindeki örnek integer dizi tanımı:
int a[10]; /* 10 elemanlık bir dizi tanımla */
for(int i = 0 ; i< 10 ; i++) /* 0′dan 10′a kadar dönen bir döngü oluştur */
a[i]=i; /* a dizisinin i. elemanına i değerini koy */
Aynı kod JAVA dilinde yazılırsa
int a[] = new int [10]; /* 10 elemanlık bir dizi tanımla */
for(int i = 0 ; i< 10 ; i++) /* 0′dan 10′a kadar dönen bir döngü oluştur */
a[i]=i; /* a dizisinin i. elemanına i değerini koy */
şeklinde c/c++ yazımına oldukça benzeyen bir görüntü sergiler.
Ve her iki dilde de yazılan kodun hafızadaki görüntüsü aşağıdaki şekildedir:
1 2 3 4 5 6 7 8 9
Diziler (Arrays), hafızada row major order veya column major order olarak tutulabilirler.
Dizilerin ayrıca ilk değeri atarnırken aşağıdaki şekilde yazılabilir:
int a[] = { 2, 3, 9, 8, 15, -6};
Yukarıdaki bu tanımlama sonucunda dizinin indisleri ile birlikte görüntüsü şu şekildedir:

Yukarıdaki dizide de dikkat edilirse, dizinin başlangıç indisi 0′dır. Dolayısıyla boyutu örneğin 5 olan bir dizinin en son erişilebilecek elemanı 4′tür. Yukarıdaki bu örnek dizi için erişim aşağıdaki şekilde yapılabilir:
a[0] = 2;
a[3] = 9;
a[5] = -6;
yukarıda örnekleri verilen eşitlikler rastgele seçilmiştir ve bu şekilde dizinin istenen elemanına erişilebilir. Örneğin C dilinde :
printf(”%d”,a[3]);
yazılması halinde a dizisinin 3. elemanına erişilmiş olur ve örneğin yukarıdaki örnek dizi için bu değer ekrana 9 basılmasıdır.
« PDA (Push Down Automata) Aşağı sürüklemeli Otomat | Stack (Yığın) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Array (Dizi)' isimli yazı 04 May 2007 tarihinde, saat: 12:19 'de �adi Evren �EKER tarafından gönderilmiş, toplam 633 defa okunmuştur.
Benzer yazıları Bilgisayar Kavramları, C/C++, JAVA, Programlama Dilleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Özyineli Diller (Recursive Languages)
- Özyineli Geçiş Ağları (Reursive Transition Networks)
- Gellish (Kontrollü Doğal Dil)
- Karar Problemi (Decision Problem)
- Masfuf (Matris , Matrix)
- Turing Makinesi (Turing Machine)
- Özyineli Sayılabilir Diller (Recursively Enumerable Languages)
- Chomsky Hiyerarşisi ( Chomsky Hierarchy )
- Anlamsal Ağlar (Semantic Network)
- Mana Ağları (Sematic Webs, Anlamsal Ağ)
Yapılan Son Yorumlar
- vildan: teşekkürler..
- Şadi Evren ŞEKER: Elbette; farklı iki örnek daha...
- rasim: daha baska ornekler verebılırmısınız
- Zeynep Kaya: İyi günler.Benim size bi sorum daha...
- Zeynep Kaya: Cok tesekkür ederim yardımınız icin..
Yakın Yazılar
Coloumn Major Order (Sütün bazlı sıralama)
Paralel Diziler (Parallel Arrays)
Row Major Order (Satır bazlı sıralama)
Harici Sıralama (External Sort)
Delta Sıkıştırması (Delta Compression)
Seyrek Masfuf (Serek matris, Sparse Matrix)
Çok boyutlu diziler (MultiDimensional Arrays)
Prüfer Dizilimi (Prüfer Sequence)
Dizgi Karşılaştırma (String Comparison)
Sayarak Sıralama (Counting Sort)
Değişken Tip Bağlama (Dynamic Type Binding, Müteharrik Şekil Bağı)
Kabarcık Sıralaması (Baloncuk sıralaması, Bubble Sort)
Bağlantılar
[...] çıkarıldığı tasvir edilmiştir. Bir sıra için bağlı liste kullanılabileceği gibi dizi (Array) de kullanılabilir. Ayrıca yukarıdaki bağlı listede, listenin sağına eklenerek solundan [...]