两个vector是否一个为另一个的前缀

#include <iostream>
#include <vector>
using namespace std;

int main()
{
	/*
	输入两个vector int 对象,检查一个是否是另一个的前缀
	如:0 1 1 2 和 0 1 1 2 3 5 8
	返回结果为 真或假 
	*/
	vector<int> vec1,vec2;
	cout<<"Enter array 1:"<<endl;
	int i;
	while(cin>>i)
		vec1.push_back(i);
	cin.clear();
	/*
	  1.要用cin.clear清空输入缓冲
	  2.在输入的时候要换行后再crtl+z 
	*/ 
	
	cout<<"Enter array 2:"<<endl;
	int j;
	while(cin>>j)
		vec2.push_back(j);
	
	bool flag=false;
	//for循环内部的auto bgn1、bgn2要一起设置初始值,不能auto bgn1,auto bgn2; 
	for(auto bgn1=vec1.begin(),bgn2=vec2.begin();bgn1!=vec1.end()&&bgn2!=vec2.end();bgn1++,bgn2++)
	{
		if((*bgn1)==(*bgn2))
			flag=true;
		else
			flag=false;
	}
	cout<<"前缀检验为: "<<(flag==true?"真":"假")<<endl;
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/zzzfeiyu/article/details/85405901
今日推荐