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]
#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]