最近刷题看题解遇到了vector数组排序和vector相等比较的问题。百度和谷歌了一下,发现网上没有比较好的解释,于是我自己动手实践了一下,写了一个vector数组排序和vector相等比较的实例,供大家参考。
经过验证发现,vector数组排序实质上是按照vector里的元素进行排序比较的。而vector相等比较的话,只要vector里的元素相同,这两个vector就是相等的,这一点需要特别注意一下。
#include <iostream>
#include<vector>
#include<cstdio>
#include<algorithm>
using namespace std;
vector<int> vc[6];
//测试集合排序
void vectorSort(){
vc[1].push_back(5);
vc[2].push_back(4);
vc[3].push_back(3);
vc[4].push_back(2);
vc[5].push_back(1);
sort(vc+1,vc+6);
for(int i=1;i<6;i++){
for(int j=0;j<vc[i].size();j++){
printf("vc[i]:%d %d\n",i,vc[i][j]);
}
}
}
//测试集合相等
void vectorSame(){
vector<int> a,b;
a.push_back(1);
b.push_back(1);
if(a==b){
printf("is Same");
}else{
printf("not Same");
}
}
int main()
{
vectorSort();
vectorSame();
return 0;
}