Çok Boyutlu Diziler

Çok Boyutlu Diziler(multi dimensional arrays) nedir?           

       Diziler konusunda dizilerin temel olarak ne olduğunu ve nasıl çalıştığını anlatmıştık. Çok boyutlu diziler de en basit anlatımıyla tanımladığımız bir dizinin içerisine eklediğimiz başka bir dizi olarak düşünebilirsiniz.

       Çok boyutlu dizileri 2 veya daha fazla boyut olarak tanımlayabilirsiniz. Ama programlamada ağırlıklı olarak 2 ve 3 boyutlu diziler kullanılmaktadır. 4 ve üzerindeki boyutlar hem anlaşılabilirlik olarak zor bir yapıdadır hem de işlemsel olarak da karmaşık kontroller gerektirir.

       Çok boyutlu diziler de kendi içerisinde iki farklı yapıda bulunabilir.

       Matris diziler (matrix arrays):  Her bir dizi elemanının aynı sayıda eleman içerdiği dizilerdir. Yapısal olarak matrisleri andırdığı için matris dizileri olarak anılmaktadır.

       Düzensiz diziler (jagged arrays): Her bir dizi elemanının farklı sayıda eleman içerdiği dizilerdir.

Çok boyutlu dizilerin tanımlanması

       Tek boyutlu dizileri tanımlama kurallarındaki geçerli olan basamaklar çok boyutlu diziler için de geçerlidir. Çok boyutlu dizileri 3 farklı şekilde tanımlayabiliriz;

       Aşağıda 2 boyutlu “3x4” dizi tanımlamaları yapılmıştır.

       Bildirmeyi (declare) ve tanımlamayı (initialize) aynı anda yapabildiğimiz yöntem;

int[,] matris = new int[3, 4];

        Bildirme ve tanımlamayı ayrı satırlarda yapabildiğimiz yöntem;

int[,] matris;
matris = new int[3, 4];

       Çok boyutlu dizi içerisine değer atamalarını da yaptığımız yöntem;

int[,] matris = {
                  { 0, 1, 2, 3} ,
                  { 4, 5, 6, 7} , 
                  { 8, 9, 10, 11}
                };

       3 boyutlu dizi tanımlamaları;

int[,,] matris3d = new int[3, 4, 5];
int[,,] matris3d;

matris3d = new int[2,2,3];
int[,,] matris3d = {
                {
                    {0,1},{0,2},{0,3},
                    {0,4},{0,5},{0,6},
                } ,
                {
                    {1,1},{1,2},{1,3},
                    {1,4},{1,5},{1,6},
                } ,
            };

Matris dizileri nedir?

       Her bir satırdaki elemanın eşit sayıda eleman içerdiği matris görünümündeki dizilerdir.

        “2x3” matris dizi oluşturup içerisine elemanları yerleştirelim ve ekrana yazdıralım; 

            int[,] dizi2d = new int[2, 3]; 
          
            dizi2d[0, 0] = 1;
            dizi2d[0, 1] = 2;
            dizi2d[0, 2] = 3;

            dizi2d[1, 0] = 4;
            dizi2d[1, 1] = 5;
            dizi2d[1, 2] = 6;
          
            for (int i = 0; i < dizi2d.GetLength(0); i++)
            {
                for (int j = 0; j < dizi2d.GetLength(1); j++)
                {
                    Console.Write(dizi2d[i,j] + "\t");
                }
                Console.WriteLine();
            }

*Ekrana yazdırırken kullandığımız ”\t” karakteri ile sayılar arasında tab tuşu kadar boşluk bırakmış oluruz.
*Döngülerde kullandığımız {diziAdı}.GetLength() isimli fonksiyon c# tarafından Array sınıfında kullanılabilen bir fonksiyondur. Bu fonksiyonla beraber verdiğimiz indekse karşılık gelen dizinin uzunluğunu vermektedir.

 

Düzensiz diziler nedir?

       Matris dizilerinde gördüğünüz üzere her bir satırdaki eleman eşit sayıda kolon elemanı almaktaydı. Düzensiz dizilerde ise bu düzen değişmekte ve her bir satırdaki elemana farklı kolon tanımlaması yapılmaktadır.

       Düzensiz matris tanımlaması aşağıdaki gibi yapılmaktadır;

int [][] duzensizMatris = new int[3][];
duzensizMatris[0] = new int[2];
duzensizMatris[1] = new int[3];
duzensizMatris[2] = new int[4];

     Burada tanımladığımız matrisin tablosal görüntüsü aşağıdaki gibi olur;

duzensizMatris[0][0]

duzensizMatris[0][1]

duzensizMatris[1][0]

       duzensizMatris[1][1]

duzensizMatris[1][2]

duzensizMatris[2][0]

duzensizMatris[2][1] 

duzensizMatris[2][2]

duzensizMatris[2][3]

 

Add comment