clear();删除向量中的所有对象

erase(iterator it);删除it所指向的容器对象

insert(iterator it,const T&);向it所指的向量位置前插入一个对象

push_back(const T&);向向量尾部插入一个对象

push_front(const T&);向向量头部插入一个对象

remove(const T&);删除特定的对象

sort();排序

unique();唯一。把链表中前后有相同元素的结点删除

 #include <iostream>
#include <list> void main()
{
std::list<int>mylist; mylist.push_back();//向向量尾部插入一个对象
mylist.push_back();
mylist.push_back();
mylist.push_back(); auto ibegin = mylist.begin();//迭代器
auto iend = mylist.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
std::cout << *ibegin << std::endl;
}
}

对特定元素进行删除,erase实现,先查找,后删除

 #include <iostream>
#include <list> void main()
{
std::list<int>mylist; mylist.push_back();//向向量尾部插入一个对象
mylist.push_back();
mylist.push_back();
mylist.push_back(); auto ibegin = mylist.begin();//迭代器
auto iend = mylist.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
if (*ibegin == )
{
mylist.erase(ibegin);
break;//删除以后,一定要break,因为ibegin已经变更了
}
} ibegin = mylist.begin();//迭代器
iend = mylist.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
std::cout << *ibegin << std::endl;
}
}

对特定元素进行删除,remove实现,先查找,后删除

 #include <iostream>
#include <list> void main()
{
int a[] = { ,,,, };
std::list<int>mylist(a, a + ); mylist.push_front();//向向量头部插入一个对象 auto ibegin = mylist.begin();//迭代器
auto iend = mylist.end(); mylist.remove(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
std::cout << *ibegin << std::endl;
}
}

在特定元素前插入新的元素,先查找,后插入

 #include <iostream>
#include <list> void main()
{
int a[] = { ,,,, };
std::list<int>mylist(a, a + ); mylist.push_front();//向向量头部插入一个对象 auto ibegin = mylist.begin();//迭代器
auto iend = mylist.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
if (*ibegin == )
{
mylist.insert(ibegin, );
break;
}
} ibegin = mylist.begin();//迭代器
iend = mylist.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
std::cout << *ibegin << std::endl;
}
}

使用反向迭代器进行遍历

 #include <iostream>
#include <list> void main()
{
int a[] = { ,,,, };
std::list<int>mylist(a, a + ); auto rb = mylist.rbegin();//反向迭代器
auto re = mylist.rend(); for (; rb != re; rb++)//使用迭代器进行遍历
{
std::cout << *rb << std::endl;
}
}

两个链表进行合并

必须先排序,后合并,否则会出错

 #include <iostream>
#include <list> void main()
{
int a[] = { ,,,, };
std::list<int>mylist1(a, a + ); int b[] = { ,,,, };
std::list<int>mylist2(b, b + ); mylist1.sort();//排序
mylist2.sort(); mylist1.merge(mylist2);//合并。必须先排序,后合并,否则会出错 auto ibegin = mylist1.begin();//迭代器
auto iend = mylist1.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
std::cout << *ibegin << std::endl;
}
}

链表元素的唯一

必须先排序,后唯一

 #include <iostream>
#include <list> void main()
{
int a[] = { ,,,,, };
std::list<int>mylist1(a, a + ); mylist1.sort();//排序
mylist1.unique();//唯一。必须先排序,后唯一 auto ibegin = mylist1.begin();//迭代器
auto iend = mylist1.end(); for (; ibegin != iend; ibegin++)//使用迭代器进行遍历
{
std::cout << *ibegin << std::endl;
}
}

#include <list>的更多相关文章

  1. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  2. Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include

    问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...

  3. error RC1015: cannot open include file 'afxres.h' 解决办法

    在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...

  4. Mybatis常用总结:参数,返回,执行sql,include等

    1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...

  5. jsp中的@include与jsp:include区别详解

    1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...

  6. JSP中编译指令include与动作指令include的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...

  7. C/C++ 中的include

    当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...

  8. 织梦多语言站点,{dede:include filename=''/}引入问题

    织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...

  9. PHP 站点相对包含,路径的问题解决方法(include,require)

    以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...

  10. 如何让include标签包裹的布局置于屏幕最下方?

    如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性  a ...

随机推荐

  1. C#/vbscript/JS如何加密保护HTML/javascript源代码

    原文地址:http://www.coding123.net/article/20121008/encrypt-javascript-by-charp-vbscript.aspx 本文通过将源代码进行u ...

  2. LeeCode-Invert Binary Tree

    Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 /** * Definition for a ...

  3. (转)ZOJ 3687 The Review Plan I(禁为排列)

    The Review Plan I Time Limit: 5 Seconds      Memory Limit: 65536 KB Michael takes the Discrete Mathe ...

  4. poj 3678 Katu Puzzle(2-sat)

    Description Katu Puzzle ≤ c ≤ ). One Katu ≤ Xi ≤ ) such that for each edge e(a, b) labeled by op and ...

  5. Spring定时任务的几种实现(转自iteye网gong1208)

    原文地址: http://gong1208.iteye.com/blog/1773177 以下为正文: 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整 ...

  6. kiki's game

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: ...

  7. 实现一次请求加载多个js或者css

    http://tengine.taobao.org/   相当牛x

  8. DataReader、Table、DataSet和Entity相互转化

    public class CommonService { #region DataReader转化 /// <summary> /// 将DataReader转化为Table /// &l ...

  9. 生成ssl证书文件

    网上关于生成SSL证书文件的方法有很多,但我查了几个,发现有或多或少的错误,如下我图文并茂的展示,亲测无任何问题,分享给大家,谢谢. 1.创建根证书密钥文件(自己做CA)root.key openss ...

  10. 禁掉a链接的几种方法

    这次遇到链接 先留着  但不能有任何作用的需求  ,我只能说顾客的需求真是多种多样,奇奇怪怪啊 啊啊啊啊啊啊啊啊啊啊啊 我用span代替了a 标签,但是后来想想维护起来可能不太方便  所以上网查资料, ...