Information Technology "IT" - level 4
504 subscribers
688 photos
40 videos
834 files
170 links
رابط قناة المراجع والملخصات والنماذج والمحاضرات
@Al_Adeeb_Group
Download Telegram
Forwarded from ❥͢ ❈↡< C++ > برمجة (❥ツ)
إ₰...👨🏻‍💻CODE👩🏻‍💻...₰❥

#Merge_Sort

خــوارزمية الـفرز بالــدمج :-

#include <iostream>
using namespace std;

void merge(int arr[], int start, int mid, int end)
{
int i, j, k;
int len1 = mid - start + 1;
int len2 = end - mid;
int *L, *R;
L = new int[len1];
R = new int[len2];

for (i = 0; i < len1; i++)
L[i] = arr[start + i];
for (j = 0; j < len2; j++)
R[j] = arr[mid + 1 + j];
i = j = 0;
k = start;

while (i < len1 && j < len2)
{
if (L[i] <= R[j])
{
arr[k] = L[i];
i++;
}
else
{
arr[k] = R[j];
j++;
}
k++;
}

while (i < len1)
{
arr[k] = L[i];
i++;
k++;
}

while (j < len2)
{
arr[k] = R[j];
j++;
k++;
}

} //end merge_function

void mergeSort(int arr[], int start, int end)
{
int mid;
if (start < end)
{
mid = (start + end) / 2;
mergeSort(arr, start, mid);
mergeSort(arr, mid + 1, end);
merge(arr, start, mid, end);
}
return;
} //end mergeSort_function

void print(int arr[], int Size)
{
for (int i = 0; i < Size; i++)
{
cout << arr[i] << " ";
}

cout << endl;
}

int main()
{
int arr[10] = {2, 5, 9, 1, 40, 0, 8, 1, 7, 25};
int Size = sizeof(arr) / 4;

cout << "array befor sorted...\n";
print(arr, Size);

mergeSort(arr, 0, Size - 1);

cout << "array after sorted...\n";
print(arr, Size);

return 0;

} //end main



•┈┈┈•❈••✦✾✦••❈•┈┈┈•
❥➺┊ @barrmaja
•┈┈┈•❈••✦✾✦••❈•┈┈┈•


إ₰...Output....₰❥

array befor sorted...
2 5 9 1 40 0 8 1 7 25
array after sorted...
0 1 1 2 5 7 8 9 25 40 [Program finished]