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. EF中读取随机数据的问题

    _list.Where(a=>a.级别=="1").OrderBy(a => Guid.NewGuid()).Take(10);

  2. ObjectOutputStream 追加写入读取错误 - 自己的实现方案

    本篇博客灵感来自http://blog.csdn.net/chenssy/article/details/13170015 问题描述.问题出现的原因.尝试解决办法,请参见鄙人上一编博客. 上一编文章解 ...

  3. Linux MySql安装步骤

    本文将以MySQL 5.5.47为例,以CentOS 6.5为平台,讲述MySQL数据库的安装和设置. 源码包方式安装 1.新建MySql用户和用户组 groupadd mysql useradd - ...

  4. 关于uitableView的Group模式滑动偏移问题

    问题: uitableView的group模式自带一个section的headerView,如果不调整,系统就会默认高度,在滑动时就会向下偏移一个单位的scetion高度,我们改变tableView的 ...

  5. 【中途相遇+二进制】【NEERC 2003】Jurassic Remains

    例题25  侏罗纪(Jurassic Remains, NEERC 2003, LA 2965) 给定n个大写字母组成的字符串.选择尽量多的串,使得每个大写字母都能出现偶数次. [输入格式] 输入包含 ...

  6. Vlc基础数据结构记录

    1.  Vlc基础数据结构 hongxianzhao@hotmail.com 1.1  基础数据结构 struct vlc_object_t,相关文件为src\misc\objects.c. 定义为: ...

  7. JSP基础之 C标签中的 varStatues属性

    变量状态参数,该属性有5个常用值count 表示当前遍历集合的元素个数index 表示当前遍历到集合的第几个元素current 表示当前的集合元素first 表示集合的第一个元素last 表示集合的最 ...

  8. Log4j.properties配置详细解读

    Log4j.properties配置 Log4j有三个主要的组件:Loggers(记录器),Appenders  (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以 ...

  9. js 跨域的使用

    try{document.domain="jincin.com"}catch(error){} 需要在被调用的函数和调用函数出都要加入上面相同的语句 下面看一下第二种跨域的解决方案 ...

  10. Android 创建自定义布局

    我们所有的控件都是继承至View类的,而所有的布局都是继承至ViewGroup的,所以我们也可以继承某个view类来实现我们自己的布局或者控件. 引入布局 我们新建一个title.xml的layout ...