【征求做法】数组笛卡尔积的排序
问题内容:给定一个数组 \(A\),求数组 \(A\) 中两两元素相加后和排序后的数组(要求基于比较)。
形式化的,给出代码:
int n;
cin>>n;
vector<int> a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
vector<int> b;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b.push_back(a[i]+b[j]);
}
}
sort(b.begin(),b.end());
for(auto x:b){
cout<<x<<' ';
}cout<<endl;
或证明,基于比较做不到 \(O(n^2)\)