网恋被骗五毛 • 1年前
using namespace std; const int N = 1e5 + 5; int arr[N], temarr[N];
void mosort(int left, int right) {
if (left == right)
return;
int mid = (left + right) / 2;
mosort(left, mid);
mosort(mid + 1, right);
int left_pos = left, right_pos = mid + 1, pos = left;
while (left_pos <= mid && right_pos <= right) {
if (arr[left_pos] <= arr[right_pos])
temarr[pos++] = arr[left_pos++];
else
temarr[pos++] = arr[right_pos++];
}
while (left_pos <= mid)
temarr[pos++] = arr[left_pos++];
while (right_pos <= right)
temarr[pos++] = arr[right_pos++];
for (int i = left; i <= right; i++)
arr[i] = temarr[i];
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> arr[i];
mosort(1, n);
for (int i = 1; i <= n; i++)
cout << arr[i]<<" ";
}
评论:
请先登录,才能进行评论