Bagaimana bekerja dengan array bergerigi di C #

Sebuah array dapat didefinisikan sebagai kumpulan elemen berurutan dari tipe data yang sama. Elemen array disimpan di lokasi memori yang berdekatan. Array bisa tunggal atau multi-dimensi. Array bergerigi adalah tipe khusus dari larik multi-dimensi di mana setiap larik (larik bergerigi sebenarnya adalah larik larik) dapat memiliki ukuran yang bervariasi.

Anda dapat memiliki larik bergerigi dalam bahasa komputer apa pun yang menyediakan dukungan untuk larik. Array bergerigi (juga dikenal sebagai larik ragged) adalah larik larik di mana anggota larik pada gilirannya dapat memiliki dimensi dan ukuran yang berbeda. Anda dapat mengimplementasikan array multi-dimensi adalah array bergerigi untuk meningkatkan kinerja.

Memulai dengan array bergerigi di C #

Pada bagian ini kita akan mengeksplorasi bagaimana mendeklarasikan, menginisialisasi dan mengakses array bergerigi. Seperti yang kita ketahui, array jagged terdiri dari array dengan ukuran yang sama atau berbeda. Dengan kata lain, dalam larik bergerigi, jumlah barisnya tetap, tetapi jumlah kolom mungkin berbeda. Saat mendeklarasikan jagged array, Anda cukup mendeklarasikan jumlah baris dari array dan lebih memilih untuk menentukan jumlah kolom saat runtime.

Beri tahu kami semua yang telah kami pelajari sejauh ini tentang array bergerigi dengan beberapa contoh kode. Perhatikan array berikut.

string[][] str = new string[5][];

Anda telah mendeklarasikan baris dari array. Ada 5 baris dalam larik ini yang dapat berisi 5 larik string dengan panjang berbeda. Sekarang mari kita lihat bagaimana kita dapat mendeklarasikan 5 array dalam array bernama str, masing-masing dengan panjang yang berbeda. Potongan kode berikut menggambarkan bagaimana hal ini dapat dicapai.

str[0] = new string[5];

str[1] = new string[10];

str[2] = new string[20];

str[3] = new string[50];

str[4] = new string[10];

Anda sekarang dapat menyimpan string dengan panjang yang berbeda dalam array bergerigi seperti yang ditunjukkan pada cuplikan kode di bawah ini.

str[0][0] = "Pune";

str[1][0] = "Kolkata";

str[2][0] = "Bangalore";

str[3][0] = "The pink city named Jaipur";

str[4][0] = "Hyderabad";

Berikut daftar kode lengkap yang menggambarkan bagaimana Anda dapat mendeklarasikan jagged array, menyimpan data dan kemudian mengambil dan menampilkannya di konsol.

public static void Main(string[] args)

       {

         //First declare the jagged array

           string[][] str = new string[5][];

           str[0] = new string[5];

           str[1] = new string[10];

           str[2] = new string[20];

           str[3] = new string[50];

           str[4] = new string[10];

           //Now store data in the jagged array

           str[0][0] = "Pune";

           str[1][0] = "Kolkata";

           str[2][0] = "Bangalore";

           str[3][0] = "The pink city named Jaipur";

           str[4][0] = "Hyderabad";

            //Lastly, display the content of each of the string arrays inside the jagged array

           for (int i = 0; i < 5; i++)

               Console.WriteLine(str[i][0]);

           Console.Read();

       }

Seperti yang Anda lihat pada program di atas, jumlah baris dari jagged array tetap tetapi jumlah kolomnya bervariasi. Contoh ini mewakili larik bergerigi dua dimensi. Jika Anda menggunakan larik dua dimensi biasa, Anda harus menggunakan 5 x 50, yaitu 250 byte. Alasannya adalah Anda harus memiliki ruang sebesar 50 byte di setiap array dalam array bergerigi untuk mengakomodasi string terbesar. Dalam contoh ini, string terbesar berukuran 50. Sebaliknya, dalam menggunakan array bergerigi, Anda hanya menghabiskan 95 byte! Menarik bukan?

Saat Anda menjalankan program di atas, string yang disimpan dalam larik bergerigi akan ditampilkan di jendela konsol.

Contoh lain - array bilangan bulat bergerigi

Mirip dengan bagaimana kita membuat deretan string bergerigi, Anda juga dapat membuat deretan bilangan bulat bergerigi. Faktanya, Anda dapat memiliki array bergerigi tipe data apa pun. Inilah cara Anda mendeklarasikan array bergerigi di C #.

int [][] numbersArray;

Potongan kode berikut mengilustrasikan bagaimana Anda dapat mendeklarasikan array jagged integer, yaitu array bergerigi yang pada gilirannya dapat menyimpan array integer dari berbagai elemen.

int[][] numbersArray = new int[5][];

for (int i = 0; i < numbersArray.Length; i++)

   {

         numbersArray[i] = new int[10 * (i + 1)];

   }

Potongan kode di atas membuat array bergerigi integer bernama numbersArray yang pada gilirannya berisi array integer dengan berbagai ukuran.