直接用sort排序最后输出即可。但是数组要使用short int 类型。否则会超内存。
#include<bits/stdc++.h> using namespace std; int n,m;short int a[1000010]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); for(int i=1;i<=m;i++) printf("%d ",a[i]); return 0; }