#include<bits/stdc++.h>
using namespace std;
int B[10010];
void merge(int A[], int low, int mid, int high)
{
int i, j, k;
for (k = low;k <= high; k++)
B[k] = A[k];
for (i = low, j = mid + 1, k = i; i <= mid && j <= high; k++)
{
if (B[i] <= B[j])
A[k] = B[i++];
else
A[k] = B[j++];
}
while (i <= mid)
A[k++] = B[i++];
while (j < high)
A[k++] = B[j++];
}
void Mergesort(int A[], int low, int high)
{
if (low < high)
{
int mid = (low + high) / 2;
Mergesort(A, low, mid);
Mergesort(A, mid + 1, high);
merge(A, low, mid, high);
}
}
int main()
{
int A[10] = { 9,8,7,6,5,4,3,2,1,0 };
Mergesort(A, 0, 9);
for (int i = 0; i < 10; i++)
{
cout << A[i]<<" ";
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-17946.html