C++ STL Merge的用法

本文详细介绍了C++中的merge函数,用于合并两个有序序列成一个有序序列。通过示例展示了如何使用该函数,并结合自定义输出函数myPrint展示了合并后的结果。测试用例中,将两个有序整数向量v1和v2合并到v3中,输出为123356789。
摘要由CSDN通过智能技术生成

merge函数的作用是:将两个有序的序列合并为一个有序的序列。函数参数:merge(first1,last1,first2,last2,result,compare);

//firs1t为第一个容器的首迭代器,last1为第一个容器的末迭代器,first2为第二个容器的首迭代器,last2为容器的末迭代器,result为存放结果的容器,comapre为比较函数(可略写,默认为合并为一个升序序列)。

truct myPrint
{
    myPrint()
    {
    }

    void operator () (int i)
    {
        cout<<i<<" " ;
    }

};


void test01()
{
    vector<int> v1{1,3,5,7};//有序
    vector<int> v2{2,3,6,8,9};//有序

    vector<int> v3;
    v3.resize(v1.size()+v2.size());//调整容器大小

    merge(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin());

    for_each(v3.begin(),v3.end(),myPrint());

}

输出:
1 2 3 3 5 6 7 8 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值