【刷题】东方博宜 1503-排序 容器排序
样例
输入
4
1 3
1 1
2 2 1
3 2 3 1
输出
1
1 2
1 2 3
3
方法一:结构体
#include<bits/stdc++.h>
using namespace std;
struct jie{int k;int a[1005];
};
jie s[1005];bool bijiao(jie x,jie y)
{return x.a[0]<y.a[0];
}
int main() {int n;cin>>n;for(int i=0;i<n;i++){cin>>s[i].k;for(int j=0;j<s[i].k;j++){cin>>s[i].a[j];}sort(s[i].a,s[i].a+s[i].k);} sort(s,s+n,bijiao);for(int i=0;i<n;i++){for(int j=0;j<s[i].k;j++){cout<<s[i].a[j]<<" ";}cout<<endl;}
}
方法二:容器,vector a[1005];
#include<bits/stdc++.h>
using namespace std;
int main()
{int n,c;cin>>n;vector<int> a[1005]; for(int i=0;i<n;i++){cin>>c;for(int j=0;j<c;j++){int t;cin>>t;a[i].push_back(t);}sort(a[i].begin(),a[i].end());}sort(a,a+n);for(int i=0;i<n;i++){for(int j=0;j<a[i].size();j++){cout<<a[i][j]<<" ";}cout<<endl;}
}
方法三:容器,vector<vector > a;
#include<bits/stdc++.h>
using namespace std;
vector<vector<int> > a;
int main()
{int n,c;cin>>n;a.resize(n); //调整容器的长度大小,使其能容纳n个元素。for(int i=0;i<n;i++){cin>>c;for(int j=0;j<c;j++){int t;cin>>t;a[i].push_back(t);}sort(a[i].begin(),a[i].end());}sort(a.begin(),a.end());for(int i=0;i<n;i++){for(int j=0;j<a[i].size();j++){cout<<a[i][j]<<" ";}cout<<endl;}
}