ادغام دو آرایه مرتب در ++c :
ادغام دو آرایه مرتب یکی از مسائل پرکاربرد در برنامه نویسی است. در زبان برنامه نویسی ++C، امکان ادغام دو آرایه مرتب به سادگی وجود دارد. این عملیات میتواند با استفاده از الگوریتمهای مختلفی انجام شود. در این مقاله، قصد داریم یک الگوریتم ساده به منظور ادغام دو آرایه مرتب در ++C را بررسی کنیم.
برای ادغام دو آرایه مرتب، ابتدا باید مقدار دو آرایه را وارد کنیم. در اینجا فرض میکنیم که آرایهها به صورت نزولی مرتب شدهاند. در غیر این صورت، باید ابتدا آرایهها را مرتب کنیم. سپس، میتوانیم از دو اشارهگر به دو آرایه استفاده کنیم تا به ترتیب از اولین عنصر دو آرایه شروع کنیم.
الگوریتم ادغام دو آرایه مرتب در ++C به صورت زیر است:
1. تعریف دو اشارهگر به دو آرایه:
int* arr1;
int* arr2;
2. تعریف یک اشارهگر به آرایه نتیجه:
int* result;
3. تعریف دو متغیر برای نگهداری اندیس فعلی هر دو آرایه:
int i = 0, j = 0;
4. تعریف یک متغیر برای نگهداری اندازه دو آرایه:
int size = sizeof(arr1) + sizeof(arr2);
5. تخصیص حافظه برای آرایه نتیجه:
result = new int[size];
6. حلقه ادغام آرایهها:
while (i < sizeof(arr1) && j < sizeof(arr2))
{
if (arr1[i] < arr2[j])
{
result[i + j] = arr1[i];
i++;
}
else
{
result[i + j] = arr2[j];
j++;
}
}
7. افزودن عناصر باقیمانده:
while (i < sizeof(arr1))
{
result[i + j] = arr1[i];
i++;
}
while (j < sizeof(arr2))
{
result[i + j] = arr2[j];
j++;
}
8. چاپ آرایه نتیجه:
for (int k = 0; k < size; k++)
{
cout << result[k] << ” “;
}
9. آزادسازی حافظهی تخصیص یافته:
delete[] result;
این الگوریتم ادغام دو آرایه مرتب را در ++C انجام میدهد. اما توجه داشته باشید که این الگوریتم فقط به آرایههای مرتب شده نزولی قابل اعمال است. برای آرایههای صعودی، باید الگوریتم را تغییر دهید. همچنین، این الگوریتم فقط برای آرایههای با اندازه ثابت قابل استفاده است. اگر آرایهها به طور پویا تغییر کنند، باید از اشارهگرها به جای اندازه آرایهها استفاده کنید.
به طور خلاصه، ادغام دو آرایه مرتب در ++C میتواند با استفاده از الگوریتم سادهای صورت بگیرد. این الگوریتم با استفاده از اشارهگرها و حافظهی پویا، امکان ادغام دو آرایه را فراهم میکند. با انجام این عملیات، آرایه نتیجه حاوی تمامی عناصر دو آرایه مرتب خواهد بود.