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

}

 

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章