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. [置顶] think in java interview番外篇-谈程序员如何修练英语

    一.程序员对英语能力的重视度和能力要求应该是在各行各业中排在比较靠前的 这样说吧,英语程度的好坏直接影响着一个程序员的编程.开发.创新能力. 道理很简单: 1. 计算机和软件是用英语创造出来的 2. ...

  2. WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)

    WPFS数据绑定(要是后台类对象的属性值发生改变,通知在"client界面与之绑定的控件值"也发生改变须要实现INotitypropertyChanged接口) MainWindo ...

  3. sshd安全性能优化

    sshd服务是远程登录服务,默认端口为22,对于其优化一是为了增加服务器的安全,避免暴力破解:二是为了加快速度连接,减少不必要的带宽的浪费. sshd服务的配置文件为/etc/ssh/sshd_con ...

  4. 76 bytes for faster jQuery

    转载自http://james.padolsey.com/javascript/76-bytes-for-faster-jquery/ 作者JAMES PADOLSEY 在我们平时使用JQuery,调 ...

  5. ASP.NET在实际开发中验证码的用法

    在网上有看到很多关于验证码的代码,很多都只是生成一张验证码图片,然而在实际登陆验证模块,验证码要怎么添加进去或者说怎么运用.和实际项目开发中要怎么使用验证码,我自己总结了几点. 一.在实际开发登陆模块 ...

  6. resolv.conf 是什么

    From Wikipedia, the free encyclopedia This article does not cite any references or sources. Please h ...

  7. oracle数据库10g下载地址

    Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit ...

  8. SQLServer服务器数据库之间的数据操作(完整版)

    分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Au ...

  9. HDU 1051 - Rightmost Digit

    找循环 #include <iostream> #include <cmath> using namespace std; int t,m,p,q; long long n; ...

  10. USACO 1.3... 虫洞 解题报告(搜索+强大剪枝+模拟)

    这题可真是又让我找到了八数码的感觉...哈哈. 首先,第一次见题,没有思路,第二次看题,感觉是搜索,就这样写下来了. 这题我几乎是一个点一个点改对的(至于为什么是这样,后面给你看一个神奇的东西),让我 ...