Cara bekerja dengan tatasusunan bergerigi di C #

Array boleh didefinisikan sebagai kumpulan unsur yang berurutan dari jenis data yang sama. Unsur-unsur array disimpan di lokasi memori bersebelahan. Susunan boleh berbentuk tunggal atau pelbagai dimensi. Array bergerigi adalah jenis khas dari array multi-dimensi di mana setiap susunan (susunan bergerigi sebenarnya adalah susunan tatasusunan) dapat berukuran berbeza.

Anda boleh mempunyai tatasusunan bergerigi dalam bahasa komputer mana pun yang memberikan sokongan untuk tatasusunan. Array bergerigi (juga dikenal sebagai susunan ragged) adalah susunan tatasusunan di mana susunan anggota pada gilirannya boleh mempunyai dimensi dan ukuran yang berbeza. Anda mungkin melaksanakan tatasusunan multi-dimensi yang bergerigi untuk meningkatkan prestasi.

Bermula dengan tatasusunan bergerigi di C #

Di bahagian ini kita akan meneroka cara menyatakan, memulakan dan mengakses tatasusunan bergerigi. Seperti yang kita ketahui, susunan bergerigi terdiri daripada susunan tatasusunan dengan ukuran yang serupa atau berbeza. Dengan kata lain, dalam susunan bergerigi, bilangan baris tetap, tetapi jumlah lajur mungkin berbeza. Semasa menyatakan susunan bergerigi, Anda hanya dapat menyatakan jumlah baris array dan lebih suka menentukan jumlah lajur pada waktu runtime.

Beri tahu kami bahawa semua yang telah kami pelajari setakat ini pada susunan bergerigi dengan beberapa contoh kod. Pertimbangkan susunan berikut.

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

Anda telah menyatakan baris array. Terdapat 5 baris dalam susunan ini yang pada gilirannya dapat mengandungi 5 susunan rentetan dengan panjang yang berbeza. Sekarang mari kita lihat bagaimana kita dapat menyatakan 5 tatasusunan dalam larik bernama str, masing-masing panjangnya berbeza. Coretan kod berikut menggambarkan bagaimana 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 kini boleh menyimpan rentetan panjang yang berbeza dalam susunan bergerigi seperti yang ditunjukkan dalam coretan kod di bawah.

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 adalah senarai kod lengkap yang menggambarkan bagaimana anda dapat menyatakan susunan bergerigi, menyimpan data dan kemudian mengambil dan memaparkannya 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 dalam program di atas, jumlah baris array bergerigi tetap tetapi jumlah lajur berbeza. Contoh ini mewakili susunan bergerigi dua dimensi. Sekiranya anda menggunakan susunan dua dimensi biasa, anda harus menggunakan 5 x 50, iaitu, 250 bait. Sebabnya ialah anda mesti mempunyai ruang 50 bait dalam setiap tatasusunan dalam susunan bergerigi untuk menampung rentetan terbesar. Dalam contoh ini, rentetan terbesar berukuran 50. Sebaliknya, dengan menggunakan array bergerigi, anda akhirnya menghabiskan hanya 95 bait! Menarik, bukan?

Semasa anda menjalankan program di atas, rentetan yang tersimpan dalam larik bergerigi dipaparkan di tetingkap konsol.

Contoh lain - susunan bilangan bulat bergerigi

Sama seperti bagaimana kami membuat susunan rentetan bergerigi, anda juga dapat membuat susunan bilangan bulat bergerigi. Sebenarnya, anda boleh mempunyai pelbagai jenis data yang bergerigi. Inilah cara anda dapat menyatakan susunan bergerigi di C #.

int [][] numbersArray;

Coretan kod berikut menggambarkan bagaimana anda dapat menyatakan susunan bergerigi bilangan bulat, iaitu, susunan bergerigi yang pada gilirannya dapat menyimpan tatasusunan bilangan bulat dari elemen yang berbeza-beza.

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

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

   {

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

   }

Coretan kod di atas menghasilkan susunan bergerigi integer bernama bilanganArray yang seterusnya mengandungi susunan bilangan bulat dengan pelbagai ukuran.