Konuyu Oyla:
  • Toplam: 1 Oy - Ortalama: 5
  • 1
  • 2
  • 3
  • 4
  • 5
   
Konu: C# - Çok Boyutlu (Multidimensional) Diziler {35}
Hera
*
avatar
Yüzbaşı
Durum: Çevrimdışı
Seviye Puanı: 10
Yaşam Puanı: 239 / 239
Deneyim: 58 / 100
Rep Sayısı: 44
Mesaj Sayısı: 133
Üyelik Tarihi: 13.04.2019
     
Yorum: #1
C# - Çok Boyutlu (Multidimensional) Diziler {35}
19.06.2019 17:21
Genel olarak çok boyutlu diziler, her bir elemanı bir dizi şeklinde olan dizilerdir. Çok boyutlu diziler iki türlüdür. Birincisi, her bir dizi elemanının eşit sayıda eleman içerdiği dizilerdir. Bu diziler matris yapısında olduğu için genellikle bu tür diziler matris dizileri de denilmektedir. İkinci tür ise, her bir elemanının farklı sayıda dizi elemanları içeren dizilerdir. Bu tür dizilerde her satırdaki elemanlarda farklı sayılarda dizi elemanı bulunabilir. Kısaca bunlara dizi dizileri diyebiliriz. Dağınık yapısından daolayı bu t ür dizilere düzensiz diziler (Jagged Array)de denilmektedir. Şimdi sıyasıyla bu iki tür dizinin nasıl tanımlandığını ve nerelerde kullanılabileceğine bakalım.
Matris Dizileri
Bu tür diziler matris yapısındadır. Örneğin, 3x2 boyutlu bir matris dizisi aşağıdaki gibi tanımlanır.
int[,] dizi = {{1,2}, {3,4}, {5,6}};
Bu dizinin elemanları indekslerine göre aşağıdaki gibidir;
dizi[0,0] = 1
dizi[0,1] = 2
dizi[1,0] = 3
dizi[1,1] = 4
dizi[2,0] = 5
dizi[2,1] = 6

ÖNEMLİ NOT Nickli Kullanıcıdan Alıntı:Matris dizilerinin bellekteki yerleşimi internetteki anlatımlardaki gibi şema gibi değildir. Onlar algılda kolaylık sağlansın diye yapılan tasarımlar/anlatımlardır. Çok boyutlu dizilerde, tek boyutlu diziler gibi bellekte ardışık şekilde dataları bekletir.

Düzensiz Diziler (Jagged Arrays)
Dizi şeklinde bir veri yapısı düşünün ki, bu yapının her elemanı ayrı bir dizi olsun. İşte bu tür dizilere, yani birbirinden farklı elemanlar içeren dizilere, dizi dizileri de denilmektedir. Aynı kelimeyi (dizi dizisi) üst üste kullanmamak için bundan sonra bu tür dizilere düzensiz diziler olarak belirteceğim.

Şimdi basit bir düzensiz dizinin nasıl tanımlandığını göstereyim;
int[][] dizi = new int[3][];
dizi[0] = new int[3];
dizi[1] = new int[4];
dizi[2] = new int[2];


Birinci satırda 3 elemanlı bir dizi tanımlanıyor, öyle ki bu dizinin her elemanı aslında bir bir diziyi ifade ediyor. Bu tanımlanan dizinin her elemanı ise sonraki 3 satırda ayrı birer dizi olarak tanımlanıyor.

Şimdi kafanız daha da karışmadan yukarıda tanımlanan düzensiz diziyi şekil üzerinde anlatayım.
Şekilden de görüldüğü gibi düzensiz dizilerin matris dizilerinden tek farkı sütun sayısının sabit olmamasıdır. Tek fark bu olmasına rağmen, algılanması matris dizilerne göre daha zordur. Zaten bu tür dizilerin elemanlarına nasıl ulaştığımızı görünce kafanız iyice karışacak eminim, ama unutmayın ki bu tür dizileri anlamak bir defa okumayla gerçekten zordur. Bu kavramların kafanızda yiice oturması için bol bol örnek yapmalı ve sonuçları görmelisiniz.

Şimdi de düzensiz dizilerin elemanlarına nasıl ulaştığımızı inceliyelim. Öncelikle bu işlemler matris dizilerinde yaptığımız işlemlerden biraz farklıdır. Çünkü çoklu dizilerde sütun sayısı belli olmadığı için iç içe kuracağımız ikinci döngünün koşulu dinamik olarak her satırda değişmektedir. Bu yüzden System.Array sınıfının metotlarından faydalanmamız gerekecek. System.Array sınıfı ile bir dizinin eleman sayısı çalışma zamanında elde edebiliriz.
(Bu konu en son: 19.06.2019 Tarihinde, Saat: 17:21 düzenlenmiştir. Düzenleyen: Hera.)
Alinti
Rep Verenler: Dessy , OrJiNaL , KingSkrupellos
Dessy
*
avatar
Yarbay
Durum: Çevrimdışı
Seviye Puanı: 23
Yaşam Puanı: 253 / 550
Deneyim: 0 / 100
Rep Sayısı: 120
Mesaj Sayısı: 634
Üyelik Tarihi: 20.11.2015
     
Yorum: #2
RE: C# - Çok Boyutlu (Multidimensional) Diziler {35}
19.06.2019 17:32
Teşekkürler, Emeğine Sağlık Smile

Sosyal Medya: Youtube - İnstagram
Alinti
KingSkrupellos
*
avatar
Hacktivist
Durum: Çevrimdışı
Seviye Puanı: 56
Yaşam Puanı: 1,386 / 1,386
Deneyim: 47 / 100
Rep Sayısı: 2876
Mesaj Sayısı: 6513
Üyelik Tarihi: 21.08.2013
     
Yorum: #3
RE: C# - Çok Boyutlu (Multidimensional) Diziler {35}
21.06.2019 03:02
Teşekkürler, Emeğine Sağlık Smile

# Cyberizm Digital Security Technological Turkish Moslem Army #
# İnsanda bir organ vardır. Eğer o sağlıklı ise bütün vücut sağlıklı olur;
eğer o bozulursa bütün vücut bozulur. Dikkat edin! O, kalptir.
[ Hz.Muhammed S.A.V ] #


Alinti



1 Ziyaretçi