从简单的例子,走进C++程序设计的殿堂


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;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值