博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表list容器中通过splice合并链表与merge的不同,及需要注意的问题
阅读量:6588 次
发布时间:2019-06-24

本文共 1677 字,大约阅读时间需要 5 分钟。

#include "stdafx.h"

#include <iostream>

#include <list>

#include <algorithm>

using namespace std;

int_tmain(int argc, _TCHAR* argv[])

{

    list<int> c1,c2,c3,c4;

    c1.push_back(3);

    c1.push_back(6);

    c2.push_back(2);

    c2.push_back(4);

    c3.push_back(5);

    c3.push_back(1);

    c4.push_back(40);

    c4.push_back(41);

    cout<<"c1="<<endl;

    copy(c1.begin(),c1.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    cout<<"c2="<<endl;

    copy(c2.begin(),c2.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    c2.splice(c2.begin(),c1);//将链表c1插入到链表c2的链头:第一种使用方式

    cout<<"After splice c1 and c2>: c2=: "<<endl;

    copy(c2.begin(),c2.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    cout<<"After splice c1 and c2: c1="<<endl;

    copy(c1.begin(),c1.end(),ostream_iterator<int>(cout,""));

    cout<<"可见splice合并后c1中没有内容了"<<endl;

    cout<<"c3="<<endl;

    copy(c3.begin(),c3.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    c2.splice(c2.begin(),c3,c3.begin());//将c3链表的头元素插入c2链表的头部:第二种使用方式

    cout<<"After splice c2 and c3: c2=: "<<endl;

    copy(c2.begin(),c2.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    cout<<"After splice c3="<<endl;

    copy(c3.begin(),c3.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    cout<<"可见splice后,c3的头元素不在了"<<endl;

    cout<<"c4="<<endl;

    copy(c4.begin(),c4.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    c2.splice(c2.begin(),c4,c4.begin(),c4.end());//将链表c4从开始到结束都合并到c2开始的位置:第三种使用方式

    cout<<"After splice c2 and c4: c2=: "<<endl;

    copy(c2.begin(),c2.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    cout<<"After splice c4="<<endl;

    copy(c4.begin(),c4.end(),ostream_iterator<int>(cout,""));

    cout<<endl;

    cout<<"可见splice合并后c4中没有内容了"<<endl;

   

    return 0;

}

执行结果:

 

可见:splice与merge最大的不同时,不用排序,也不要求原始链表有序。相同点是,被合并的链表或元素将消失。

你可能感兴趣的文章
Google全球副总裁Vint Cerf:中国物联网发展不得不关注的几大问题
查看>>
源头防堵信息泄露 监管拟全面推行"支付标记化"
查看>>
《人件(原书第3版)》—— 01 此时此刻,一个项目正在走向失败
查看>>
java 框架介绍------权限框架
查看>>
英特尔大手笔花钱寻觅未来 但新领域变数太多难以成为支柱
查看>>
中兴通讯:已就处罚事件进行充分沟通 明起复牌
查看>>
国内交通产业进入新纪元 智能加码功不可没
查看>>
新华三:让地铁更智慧
查看>>
关于loadrunner的pacing值的总结
查看>>
京东金融创新”ABS云平台” 大数据提升直接融资效率
查看>>
明明是全闪存阵列,为何存储性能仍然不够快
查看>>
Spring AOP实现声明式事务代码分析
查看>>
赛拉弗光伏组件成功获日本JIS Q8901认证
查看>>
上世纪军用设备仍在继续使用,美军E-3G预警机升级改造后易被黑客攻击
查看>>
你知道云计算,但是你知道“云工作”吗?
查看>>
阿里:车联网将成新网络入口
查看>>
朝鲜黑掉韩国政府版 Word
查看>>
《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.3 直接映射高速缓存...
查看>>
《Adobe After Effects CS5经典教程》——1.5 对合成图像作动画处理
查看>>
《Web前端工程师修炼之道(原书第4版)》——移动Web
查看>>