元素周期表第51位 • 11天前
using namespace std; int a[100005], t[100005];
void sort(int l, int r) {
if (l == r)
return;
int mid = (l + r) / 2;
sort(l, mid);
sort(mid + 1, r);
int p1 = l, p2 = mid + 1;
for (int i = l; i <= r; i++)
if (p2 > r || (p1 <= mid && a[p1] < a[p2])) {
t[i] = a[p1];
p1++;
} else {
t[i] = a[p2];
p2++;
}
for (int i = l; i <= r; i++)
a[i] = t[i];
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
sort(1, n);
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
return 0;
}
评论:
请先登录,才能进行评论