Ko'p o'lchovli massivlar
Massivlar daraja yoki o'lchamlar soni kabi tushuncha bilan tavsiflanadi. Yuqorida biz bir o'lchamga ega bo'lgan (ya'ni ularning darajasi 1) massivlarni ko'rib chiqdik - bunday massivlarni elementning satri (satr yoki ustuni) sifatida ko'rsatish mumkin. Lekin massivlar ham ko'p o'lchovli bo'lishi mumkin. Bunday massivlar 1 dan katta o'lchamlarga (ya'ni darajaga) ega.
Ikki o'lchamli (darajali 2 ga teng) bo'lgan massivlar ikki o'lchovli deyiladi. Misol: uchun, bir xil elementlarga ega bo'lgan bir o'lchovli va ikki o'lchovli massivlarni yaratamiz:
int[] nums1 = new int[] { 0, 1, 2, 3, 4, 5 };
int[,] nums2 = { { 0, 1, 2 }, { 3, 4, 5 } };
Vizual ravishda ikkala massivni quyidagicha ko'rsatish mumkin:
nums2 massivi ikki o'lchovli bo'lgani uchun u oddiy jadvaldir. Ikki o'lchovli massivlarni aniqlashning barcha mumkin bo'lgan usullari:
int[,] nums1;
int[,] nums2 = new int[2, 3];
int[,] nums3 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5 } };
int[,] nums4 = new int[,] { { 0, 1, 2 }, { 3, 4, 5 } };
int[,] nums5 = new [,]{ { 0, 1, 2 }, { 3, 4, 5 } };
int[,] nums6 = { { 0, 1, 2 }, { 3, 4, 5 } };
Massivlar ko'proq o'lchamlarga ega bo'lishi mumkin. Uch o'lchovli massiv deklaratsiyasi quyidagicha ko'rinishi mumkin:
int[,,] nums3 = new int[2, 3, 4];
Shunga ko'ra, to'rt o'lchovli massivlar va katta miqdordagi o'lchamli massivlar bo'lishi mumkin. Ammo amalda odatda bir o'lchovli va ikki o'lchovli massivlardan foydalaniladi.
Ko'p o'lchovli massivni sanab o'tish qiyin bo'lishi mumkin. Avvalo, bunday massivning uzunligi elementlarning umumiy soni ekanligini hisobga olishimiz kerak.
int[,] numbers = { { 1, 2, 3 }, { 4, 5, 6 }};
foreach (int i in numbers)
Console.Write($"{i} ");
Massivlar massivi
Massivlar massivini yoki “kesilgan massiv”ni ko‘p o‘lchovli massivlardan farqlash kerak:
int[][] nums = new int[3][];
nums[0] = new int[2] { 1, 2 };
// birinchi pastki qator uchun xotira ajratish
nums[1] = new int[3] { 1, 2, 3 };
// ikkinchi pastki qator uchun xotira ajratish
nums[2] = new int[5] { 1, 2, 3, 4, 5 };
// uchinchi pastki qator uchun xotira ajratish
Bu yerda kvadrat qavslarning ikkita guruhi bu massivlar massivi, ya'ni o'z navbatida boshqa massivlarni o'z ichiga olgan massiv ekanligini ko'rsatadi. Bundan tashqari, massiv uzunligi faqat birinchi kvadrat qavslarda ko'rsatilgan, keyingi barcha kvadrat qavslar bo'sh bo'lishi kerak: new int[3][]. Bunday holda, bizning nums massivimiz uchta massivni o'z ichiga oladi. Bundan tashqari, ushbu massivlarning har birining o'lchamlari mos kelmasligi mumkin.
M assivlar massivining muqobil ta'rifi:
int[][] numbers = {
new int[] { 1, 2 },
new int[] { 1, 2, 3 },
new int[] { 1, 2, 3, 4, 5 }
};
Do'stlaringiz bilan baham: |