#include <list>
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>的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
- error RC1015: cannot open include file 'afxres.h' 解决办法
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
- Mybatis常用总结:参数,返回,执行sql,include等
1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- JSP中编译指令include与动作指令include的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...
- C/C++ 中的include
当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...
- 织梦多语言站点,{dede:include filename=''/}引入问题
织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...
- PHP 站点相对包含,路径的问题解决方法(include,require)
以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...
随机推荐
- Container With Most Water 解答
Question Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate ...
- [每日一题] 11gOCP 1z0-052 :2013-09-25 Lock ――for update.................................C23
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12021587 正确答案:ABE 这道题需要我们了解锁的知识点. TM锁的模式: 0-Non ...
- Linux中shell文件操作大全
1.创建文件夹#!/bin/shmkdir -m 777 "%%1" 2.创建文件#!/bin/shtouch "%%1" 3.删除文件#!/bin/shrm ...
- IBatis——(一)
IBatis是持久层的框架,也就是我们说的Dao层框架,关注数据库操作以及和Java对象之间的关联,我们将这样的框架也称之为ORM(Object/Relaction Mapping)框架.而这里映射的 ...
- 【Heritrix基础教程之3】Heritrix的基本架构
Heritrix可分为四大模块: 1.控制器CrawlController 2.待处理的uri列表 Frontier 3.线程池 ToeThread 4.各个步骤的处理器 (1)Pre-fetch ...
- zTree实现清空选中的第一个节点的子节点
zTree实现清空选中的第一个节点的子节点 1.实现源代码 <!DOCTYPE html> <html> <head> <title>zTree实现基本 ...
- bootstrap之Flick
Flick package io.appium.android.bootstrap.handler; import com.android.uiautomator.core.UiDevice; imp ...
- Android应用程序组件Content Provider简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6946067 在Android系统中,Conte ...
- sublime text 3 快捷键大全以及配置编译环境(转)
Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期 坚持使用并熟悉这些常用的快捷 ...
- java二维码之利用谷歌的zxing生成二维码,解析二维码
生成二维码 @RequestMapping("/123") public void test(HttpServletRequest request,HttpServletRespo ...