vector数组之间的较量之<,>,==

在各大OJ算法题中我们经常会遇到一些最优结果的求解。
例如下面这种要求:
在这里插入图片描述
就是说数组A[]<B[],当且仅当A[i] == B[i] (i=0,1,2,3…L-2,L-1);而A[L]<B[L]。emmmmm大家可以联想一下字符串的字典序进行比较,就是你把数组看成一个字符串,这样就可以利用字典序进行比较啦。


这种做法一般都是直接写个函数进行判断,但是很麻烦有木有,下面给大家介绍一下vector数组之间的比较符。

利用vector可以直接判断两个数组是否相等,判断两个数组之间的大小关系。

例如:

vector<int> v1,v2,v3,v4,v5,v6;

其中v1的元素:1 2 3 4 5 6 7 8 9 11
其中v2的元素:1 2 3 4 5 6 7 8 9 12
其中v3的元素:1 2 3 4 5 6 7 8 9
其中v4的元素:1 3 4 5 6 7 8 9 12
其中v5的元素:1 3 4 5 6 7 8 9 12
依据上面讲的,我们可以判断出来

v5 == v4
v4>v1,v2,v3;
v1<v2;
……

下面附上我的测试代码,大家可以试一试。

#include<bits/stdc++.h>
using namespace std;
int main() {
	vector<int> v1; 
	vector<int> v2; 
	for(int i=1;i<10;i++){
		v1.push_back(i);
		v2.push_back(i);
	}
	if(v1==v2) printf("1\n");
	else printf("0\n");
	v1.push_back(11);
	v2.push_back(12);
	if(v1<v2) printf("1\n");
	else printf("0\n");
}

猜你喜欢

转载自blog.csdn.net/qq_39072627/article/details/107528909
今日推荐