آرایه های دندانه ای (Jagged Array)
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
آرایه دندانه ای (Jagged Array) چیست؟
آرایههای دندانهای یا همان Jagged Array ها، دقیقا همان آرایههای دو بعدی هستند، اما با این تفاوت که تعداد ستونها در آرایههای دندانهای میتواند طبق نیاز ما متغیر باشد! درنتیجه شکل مربع یا ماتریس را پیدا نخواهد کرد.
به عنوان مثال فرض کنید میخواهیم چهار اسم زیر را در یک آرایه دندانهای ذخیره کنیم:
ALI
SARA
ARMIN
ASGHAR
اگر این اسامی را بصورت کاراکتری از هم جدا کنیم، شبیه به یک آرایه دندانهای خواهند شد:
A L I
S A R A
A R M I N
A S G H A R
در نتیجه برای ذخیره سازی این اسامی، نیاز به یک آرایه با چهار سطر داریم، اما در هر سطر تعداد ستونها متغیر است.
در سطر اول نیاز به ۳ ستون، در سطر دوم نیاز به ۴ ستون، در سطر سوم نیاز به ۵ ستون و در سطر چهارم نیاز به ۶ ستون است.
هدف آرایههای دندانهای دقیقا جلوگیری از همین اتلاف حافظه برای ستونهای خالی است.
برای تعریف آرایههای دندانهای، باید قائده زیر را رعایت کنید:
char [] [] names = new char [4] [];
نکته: برخلاف آرایههای دو بعدی که بین دو براکت تنها یک ویرگول گذاشته شده که به معنای تعریف آرایه دو بعدی است، در آرایههای دندانهای از دو براکت بصورت جدا از هم استفاده میشود.
در مثال فوق یک آرایه دندانهای با چهار سطر تعریف شده است که هیچ کدام از این سطرها دارای ستون نمیباشند!
برای تعریف ستونهای هر سطر، باید بصورت جداگانه تعداد سطر هر ستون را تعریف کنید:
names [0] = new char [3];
names [1] = new char [4];
names [2] = new char [5];
names [3] = new char [6];
با این روش، یک آرایه دندانهای با چهار سطر که هر سطر دارای تعداد ستونهای مخصوص به خود میباشد، ایجاد شده است.
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.