یکی از مفاهیم اساسی در برنامهنویسی است که به شما اجازه میدهد تا مجموعهای از دادهها را تحت یک نام واحد ذخیره کنید. به عبارت دیگر، آرایه یک ساختار دادهای است که برای نگهداری مجموعهای از مقادیر همنوع به کار میرود. این مقادیر که به آنها اعضای آرایه یا المانهای آرایه گفته میشود، میتوانند با استفاده از اندیسها (شمارههایی که به هر عضو آرایه اختصاص مییابد) به سادگی دسترسی پیدا کنند.اگر به دنبال آشنایی با سایر اصطلاحات برنامهنویسی هستید، میتوانید به مقاله اصطلاحات برنامه نویسی: 100 اصطلاح ضروری مراجعه کنید.
آرایهها یکی از مهمترین ساختارهای داده در برنامهنویسی هستند که امکان ذخیره و دسترسی به مجموعهای از دادهها را به صورت منظم فراهم میکنند. آرایهها به انواع مختلفی تقسیم میشوند که در ادامه به توضیح آنها میپردازیم:
۱. آرایههای یکبعدی (Single-Dimensional Array)
آرایههای یکبعدی، سادهترین نوع آرایهها هستند که به صورت یک لیست خطی از عناصر تعریف میشوند. هر عنصر در آرایه با یک اندیس مشخص میشود که برای دسترسی به آن استفاده میشود. مثلاً:
int[] numbers = { 1, 2, 3, 4, 5 };
در اینجا، آرایهای به نام numbers
تعریف شده که پنج عنصر عددی را در خود جای داده است.
۲. آرایههای چندبعدی (Multi-Dimensional Array)
آرایههای چندبعدی به آرایههایی گفته میشود که بیش از یک بعد دارند و میتوانند برای ذخیره دادههایی با ساختار پیچیدهتر استفاده شوند. آرایههای دوبعدی رایجترین نوع از این آرایهها هستند که میتوانند مانند یک جدول با سطرها و ستونها عمل کنند.
مثال از آرایه دوبعدی:
int[,] matrix = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
در این مثال، آرایهای به نام matrix
تعریف شده که شامل سه سطر و سه ستون است. آرایههای دوبعدی معمولاً برای ذخیره دادههای مرتبط با جدولها، ماتریسها، یا حتی صفحههای بازی استفاده میشوند.
۳. آرایههای ژاگد (Jagged Array)
آرایههای ژاگد نوعی از آرایههای چندبعدی هستند که هر سطر آن میتواند طول متفاوتی داشته باشد. این نوع آرایهها به خصوص زمانی مفید هستند که دادههای شما به شکل نامتقارن باشند. مثلاً:
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[] { 1, 2 };
jaggedArray[1] = new int[] { 3, 4, 5 };
jaggedArray[2] = new int[] { 6 };
در این مثال، jaggedArray
یک آرایه از آرایهها است که هر سطر طول متفاوتی دارد.
مقایسهی انواع آرایهها
- آرایههای یکبعدی برای ذخیرهی لیستی از مقادیر به صورت خطی و ساده استفاده میشوند.
- آرایههای چندبعدی برای نمایش دادههایی که ساختار ماتریسی دارند و نیاز به دستهبندی در قالب سطر و ستون دارند، مناسب هستند.
- آرایههای ژاگد زمانی مفید هستند که طول سطرهای داده متفاوت باشد و نیاز به انعطاف بیشتری در ذخیرهسازی داشته باشیم.
مراحل ایجاد آرایه در برنامهنویسی
۱. تعیین اندازه آرایه
ابتدا باید اندازه آرایه را تعیین کنید، یعنی مشخص کنید چند عنصر قرار است در آن ذخیره شود. بسیاری از زبانها از آرایههای با اندازه ثابت پشتیبانی میکنند که در زمان تعریف باید اندازه آن مشخص شود.
۲. تعیین نوع داده آرایه
آرایهها معمولاً باید فقط مقادیری از نوع داده یکسان را ذخیره کنند. به همین دلیل، باید نوع داده (مانند int
، float
، string
و ...) را برای عناصر آرایه مشخص کنید.
۳. ایجاد و مقداردهی اولیه آرایه
در بیشتر زبانهای برنامهنویسی، میتوانید آرایه را با مقادیر اولیه یا بدون مقداردهی خاص ایجاد کنید. اگر مقادیر مشخصی را میدانید، میتوانید از همان ابتدا آرایه را با آنها مقداردهی کنید.
روش تعریف آرایه در زبانهای برنامهنویسی مختلف
هر زبان برنامهنویسی شیوه خاصی برای تعریف آرایه دارد:
1. سیشارپ (#c )
در سیشارپ، آرایهها با مشخص کردن نوع داده و اندازهشان تعریف میشوند. همچنین میتوانید مقادیر اولیه را مستقیماً تعیین کنید:
int[] numbers = new int[5]; // آرایهای با طول مشخص
int[] values = { 1, 2, 3, 4, 5 }; // آرایه با مقداردهی اولیهnv lrhgi
در مقاله همه چیزی که درمورد آرایه ها در #C باید بدانید در مورد آرایه در سی شارپ بیشتر توضیح داده شده است و می توانید این مقاله را مطالعه کنید.
2. جاوا (Java)
جاوا نیز برای تعریف آرایه به نوع داده و اندازه نیاز دارد:
int[] numbers = new int[5];
int[] values = { 1, 2, 3, 4, 5 };
3 . جاوااسکریپت (JavaScript)
در جاوااسکریپت، آرایهها پویا هستند و میتوانند اندازهشان را تغییر دهند:
let numbers = new Array(5);
let values = [1, 2, 3, 4, 5];
در مقاله آموزش آرایه ها در جاوا اسکریپت به طور کامل آرایه در جاوا اسکریپت را آموزش داده ایم
4. پایتون (Python)
آرایهها در پایتون به شکل لیست تعریف میشوند که انعطافپذیری بالایی دارند:
numbers = [None] * 5
values = [1, 2, 3, 4, 5]
5. سیپلاسپلاس (C++)
در سیپلاسپلاس، آرایهها باید نوع داده و طول مشخصی داشته باشند:
int numbers[5];
int values[] = {1, 2, 3, 4, 5};
6. پیاچپی (PHP)
پیاچپی آرایهها را با استفاده از توابع یا مقادیر اولیه تعریف میکند:
$numbers = array_fill(0, 5, null);
$values = [1, 2, 3, 4, 5];
7. روبی (Ruby)
در روبی، میتوان آرایهها را با Array.new تعریف کرد:
numbers = Array.new(5)
values = [1, 2, 3, 4, 5]
با این مثالها، میتوان دید که هر زبان روش خاص خود را برای مدیریت آرایهها دارد. هنگام انتخاب زبان، بهتر است نیاز پروژه و ویژگیهای زبان را در نظر بگیرید.]"
اندیس (Index) در آرایه چیست؟
اندیس آرایه شمارهای است که برای دسترسی به یک عنصر خاص در آرایه استفاده میشود. اندیسها معمولاً از عدد صفر شروع میشوند، اما در برخی زبانهای برنامهنویسی، ممکن است از یک یا اعداد دلخواه شروع شوند.
برای مثال: در زبانهای برنامهنویسی مثل C#، Java، Python، اندیس از صفر شروع میشود:
int[] numbers = {10, 20, 30, 40};
Console.WriteLine(numbers[0]); // خروجی: 10
Console.WriteLine(numbers[1]); // خروجی: 20
انواع اندیس در آرایه
اندیس صفرمحور (Zero-based Indexing):
- اندیس آرایه از صفر شروع میشود.
- مثال: سی شارپ، C++، Java، Python، C.
- مزیت: سادهتر برای محاسبات حافظه.
my_array = [5, 10, 15]
print(my_array[0]) # خروجی: 5
اندیس یکمحور (One-based Indexing):
- اندیس آرایه از عدد یک شروع میشود.
- مثال: برخی زبانهای قدیمی مثل Fortran، Lua یا R.
my_array = {10, 20, 30}
print(my_array[1]) -- خروجی: 10
اندیس دلخواه (Custom Indexing):
- در برخی زبانها مانند Pascal یا Python (با استفاده از دیکشنری)، میتوان اندیسهای دلخواه تعریف کرد.اندازه آرایه در برنامهنویسی چگونه است؟
my_dict = {1: "one", 2: "two", 3: "three"}
print(my_dict[2]) # خروجی: two
اندازه آرایه در برنامه نویسی چگونه است؟
اندازهی آرایه به تعداد عناصری که میتواند در خود نگه دارد گفته میشود. این اندازه معمولاً در هنگام تعریف آرایه مشخص میشود و پس از آن تغییر نمیکند. در برخی زبانها مانند پایتون، اندازهی آرایه میتواند به صورت پویا تغییر کند. برای مثال، لیستها در پایتون قابلیت اضافه یا حذف کردن عناصر را به طور پویا دارند
عوامل تعیینکننده اندازه آرایه:
تعیین اندازه هنگام تعریف:
- در زبانهایی مانند C یا C++، باید اندازه آرایه هنگام تعریف مشخص شود. مثلاً:
اندازه آرایه در برنامه نویسی چگونه است؟
- در این حالت، اندازه ثابت است و نمیتوان آن را تغییر داد.
دینامیک بودن آرایه:
- در زبانهایی مانند Python، JavaScript یا Java، آرایهها (یا ساختارهای مشابه مانند لیستها) دینامیک هستند. این یعنی اندازه آرایه میتواند در حین اجرای برنامه تغییر کند:
my_list = [1, 2, 3] # اندازه اولیه 3 است
my_list.append(4) # اندازه به 4 افزایش مییابد
استفاده از مقدار length
یا معادل آن:
- در اکثر زبانهای مدرن، برای دسترسی به اندازه آرایه از خاصیت یا متدی مانند
length
استفاده میشود:
let arr = [10, 20, 30];
console.log(arr.length); // خروجی: 3
حافظه سیستم:
- در زبانهایی که از آرایههای ثابت استفاده میکنند، اندازه آرایه نمیتواند بزرگتر از مقدار حافظه قابل دسترس باشد.
نوع دادهها:
- اندازه آرایه میتواند به نوع دادهای که در آن ذخیره میشود وابسته باشد. مثلاً آرایهای از نوع
int
کمتر از آرایهای از نوعdouble
حافظه مصرف میکند، اما تعداد عناصر را خود برنامهنویس مشخص میکند.
مزایای استفاده از آرایه در برنامهنویسی چیست؟
دسترسی سریع به دادهها: با استفاده از اندیسها، میتوان به سرعت به هر عضو آرایه دسترسی پیدا کرد.
سادهسازی مدیریت دادهها: با گروهبندی دادههای همنوع، کدها خواناتر و مدیریت آنها آسانتر میشود.
صرفهجویی در حافظه: آرایهها به صورت پشتسرهم در حافظه ذخیره میشوند که باعث میشود دسترسی به دادهها سریع و کارآمد باشد.
معایب استفاده از آرایه در برنامهنویسی چیست؟
اندازه ثابت: در بسیاری از زبانهای برنامهنویسی، پس از تعریف اندازه آرایه نمیتوان آن را تغییر داد که این موضوع باعث میشود منابع بیشتری برای دادههای غیرضروری مصرف شود.
نیاز به مدیریت دستی حافظه: در برخی زبانها مانند C و C++، مدیریت حافظه برای آرایهها به عهدهی برنامهنویس است که ممکن است به بروز خطاهای حافظه منجر شود.
عدم امکان درج یا حذف عناصر: در آرایههای ثابت، امکان اضافه یا حذف عناصر بدون ایجاد آرایه جدید وجود ندارد که این محدودیتی در مدیریت دادهها ایجاد میکند.
کاربردهای آرایه در برنامهنویسی چیست؟
ذخیرهسازی لیست دادهها: از آرایه برای ذخیرهسازی مجموعهای از دادههای مشابه مانند لیست اعداد یا اسامی استفاده میشود.
پیادهسازی الگوریتمها: بسیاری از الگوریتمها مانند مرتبسازی و جستجو بر اساس آرایهها پیادهسازی میشوند.
ذخیرهسازی ماتریسها و جداول: برای نگهداری دادههای چندبعدی مانند ماتریسها و جداول از آرایههای چندبعدی استفاده میشود.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید