Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int N = 5;
- void merge(int a[], int start, int middle, int end);
- void mergeSort(int a[], int start, int end) {
- int middle;
- if (start < end) {
- middle = (start + end) / 2;
- mergeSort(a, start, middle);
- mergeSort(a, middle + 1, end);
- merge(a, start, middle, end);
- }
- }
- void merge(int a[], int start, int middle, int end) {
- int h, i, j, k;
- h = start;
- i = start;
- j = middle + 1;
- int temp[N];
- while ((h <= middle) && (j <= end)) {
- if (a[h] <= a[j]) {
- temp[i] = a[h];
- h++;
- } else {
- temp[i] = a[j];
- j++;
- }
- i++;
- }
- if (h > middle)
- for (k = j; k <= end; k++) {
- temp[i] = a[k];
- i++;
- }
- else
- for (k = h; k <= middle; k++) {
- temp[i] = a[k];
- i++;
- }
- for (k = start; k <= end; k++) {
- a[k] = temp[k];
- }
- }
- int main(int argc, const char * argv[]) {
- int a[N];
- cout << "Podaj " << N << " cyfr:\n";
- for (int i = 0; i < N; i++) {
- cout << (i + 1) << ": ";
- cin >> a[i];
- }
- mergeSort(a, 0, N - 1);
- cout << endl;
- for (int i = 0; i < N; i++) {
- cout << a[i] << " ";
- }
- cout << endl << endl;
- //system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement