1、一个数组赋值给另一个数组,同时将这段代码改写为vector实现
#include <iostream>
using namespace std;
int main()
{
size_t array_size=7;
int ia1[]={0,1,2,3,4,5,6};
int ia2[array_size]; //C++里面的数组复制,只能新建一个足够大小的新数组,然后进行复制 for(size_t ix=0;ix!=array_size;ix++)
{
ia2[ix]=ia1[ix];
cout<<ia2[ix]<<" ";
}
return 0;
}
vector实现
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec1(10,20);
vector<int> ivec2;//使用迭代器访问vector中的元素;
for(vector<int>::iterator iter=ivec1.begin(); iter!=ivec1.end();++iter)
{
ivec2.push_back(*iter);
cout<<*iter<<" ";
}
return 0;
}
2、编写程序判断两个数组是否相等,然后编写一段类似的程序比较两个vector
两个数组:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
const int arr_size=6;
size_t ix;
int ia1[arr_size],ia2[arr_size];
cout<<"请输入数组1的值"<<endl;
for(ix=0;ix!=arr_size;ix++)
cin>>ia1[ix];
cout<<"请输入数组2的值"<<endl;
for(ix=0;ix!=arr_size;ix++)
cin>>ia2[ix];
for(ix=0;ix!=arr_size;ix++)
{
if(ia1[ix]!=ia2[ix]){
cout<<"数组1和数组2不相等"<<endl;
return 0;
}
}
cout<<"数组1和数组2相等"<<endl;
return 0;
}
两个vector:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec1,ivec2;
int ival;//读取两个vector元素的值
cout<<"输入vec1的值,以-1结束:"<<endl;
cin>>ival;
while(ival!=-1)
{
ivec1.push_back(ival);
cin>>ival;
}
cout<<"输入vec2的值,以-1结束:"<<endl;
cin>>ival;
while(ival!=-1)
{
ivec2.push_back(ival);
cin>>ival;
}
vector<int>::iterator iter1=ivec1.begin();
vector<int>::iterator iter2=ivec2.begin();
//判断两个vector元素是否相等
if(ivec1.size()!=ivec2.size())//长度不等则不等
{
cout<<"vec1不等于vec2"<<endl;
}else if(ivec1.size()==0)//长度为0相等
{
cout<<"vec1等于vec2"<<endl;
}else{//两个vector长度相等且不为0
while(*iter1==*iter2&&iter1!=ivec1.end()&&iter2!=ivec2.end())
{
++iter1;
++iter2;
}
if(iter1==ivec1.end())//所有元素都相等
cout<<"vec1等于vec2"<<endl;
else
cout<<"vec1不等于vec2"<<endl;
}
return 0;
}