C++算法copy()和copy_backward()

泛型算法名称

copy()     拷贝

作用

将源容器中的数据拷贝到目标容器内,顺序不变

参数

源容器开头, 源容器结尾,目标容器开头

 

 

泛型算法名称

copy_backward()      逆向拷贝

作用

将源容器中的数据拷贝到目标容器内,顺序不变

参数

源容器开头, 源容器结尾,目标容器结尾

 

//创建动态数组

vector<int> CreateVector1()

{

    vector<int> VeInt;

    srand(time(0));

 

    for (int i = 2; i < 12; i++)

    {

        VeInt.push_back(rand() % 100);

    }

    return VeInt;

}

 

//输出动态数组

void ShowVector(vector<int> VeInt)

{

    vector<int>::iterator showVeInt;

    for (showVeInt = VeInt.begin(); showVeInt != VeInt.end(); showVeInt++)

    {

        cout << *showVeInt << " ";

    }

    cout << endl;

}

 

//拷贝算法

void my_copy(vector<int> &intvector, vector<int> &vector)

{

    copy(intvector.begin(), intvector.end(), vector.begin());

}

 

//逆向拷贝算法

void my_copy_backward(vector<int> &intvector, vector<int> &vector)

{

    copy_backward(intvector.begin(), intvector.end(), vector.end());

}

 

//主函数

void main()

{

    vector<int> VeInt = CreateVector1();

    vector<int> VeInt2(10);

    vector<int> VeInt3(10);

    my_copy(VeInt, VeInt2);

    cout << "源:VeInt :" << "\t";

    ShowVector(VeInt);

    cout << "\n" << "copy的VeInt2 :" << "\t";

    ShowVector(VeInt2);

    my_copy_backward(VeInt, VeInt3);

    cout << "\n" << "copy_backward的VeInt3 :" << "\t";

    ShowVector(VeInt3);

}

 

 

逆向拷贝是从源容器的结尾开始进行拷贝,拷贝完的数据顺序不变。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值