MFC ,List使用
出自http://www.cnblogs.com/yuehui/archive/2012/06/15/2550449.html
List容器
双向线性表list容器
list类定义了双向的线性表。Vector类支持随机访问,但list只能支持顺序访问,由于list是双向的,因此我们可以按从前到后或者从后到前的顺序来访问list。
1.创建一个list对象
#include<list>
using namespace std;
list<int> lst1;
list<char> lst2;
2.向list对象中添加数值
从前面添加:
lst1.push_front(0);
lst1.push_front(1);
从后面添加:
lst1.push_back(0);
lst1.push_back(1);
3.删除操作
删除list对象中的第一个元素
lst1.pop_front();
删除list对象中的最后一个元素
lst1.pop_back();
4.获得list对象的存储容量
lst1.size();
5.获得list对象中第一个和最后一个元素
list<int>::iterator p = lst1.begin();
list<int>::iterator p = lst1.end();
6.在list对象中插入元素
list<int>::iterator p = lst1.begin();
p++;
lst1.insert(p, 2 , 100);
7.在list对象中删除元素;
list<int>::iterator p1 = lst1.begin();
list<int>::iterator p2 = lst1.begin();
for (i=0;i<5;i++) p2++;
lst1.erase(p1, p2);
8.访问list对象中的内容
list<int>::iterator p = lst1.begin();
while (p!=lst1.end())
{
*p = *p + 100;
p++;
}
9.将list对象中的内容排序;
lst1.sort();
list应用问题
要求使用list解题
输入:第一个行为总组数,从第二行开始为每组数,每组数的第一个数为该组数的个数。
输出:将所有组的数排序无重复输出。
输入
2
3
3
4
5
5
1
2
3
4
5
输出
1
2
3
4
5
程序源码:
#include<iostream>
#include<list>
using namespace std;
int main()
{
//定义一个整型的list对象lst
list<int> lst;
int i;
//往lst头和尾插入整数
lst.push_front(10);
lst.push_front(20);
lst.push_front(30);
lst.push_back(1);
lst.push_back(2);
lst.push_back(3);
for (i=0; i<=10;i++) lst.push_back(i);
//输出lst中的所有元素
//定义一个迭代器p
list<int>::iterator p = lst.begin();
while (p!=lst.end())
{
cout << *p << " ";
p++;
}
cout << endl;
//将lst中的元素排序
lst.sort();
p = lst.begin();
while (p!=lst.end())
{
cout << *p << " ";
p++;
}
cout << endl;
//删除lst中的重复元素
lst.unique();
p = lst.begin();
while (p!=lst.end())
{
cout << *p << " ";
p++;
}
cout << endl;
return 0;
}
MFC ,List使用的更多相关文章
- vs2010静态链接MFC库报链接错误
由于需要将MFC程序在其它电脑上运行,所以需要将动态链接的MFC改成静态链接,本以为很简单,没想到链接的时候出现下面的链接错误: uafxcw.lib(afxmem.obj) : error LNK2 ...
- MFC中成员变量的声明顺序与析构顺序
第一次用博客,第一篇随笔,就写今天遇到的一个问题吧. 在VS2008的MFC对话框程序,窗口成员变量的声明顺序与其析构顺序相反,即,先声明的变量后析构,后声明的变量先析构.未在其他模式下测试. cla ...
- VC中的MFC到底是什么?
1. 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API ...
- MFC&Halcon之实时视频监控
上一篇实现了在MFC的窗体内显示图片,本篇介绍如何在MFC窗体内实时显示摄像头的影像. 要实现的功能是点击一个“开始”按钮,可以显示影像,再点击“停止”按钮,可以停止显示. 因为实时显示影像需要在一个 ...
- MFC快速入门 - 菜单
本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6231104.html 打开VS2010,依次打开File – New – Proje ...
- MFC画线功能总结
本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...
- MFC消息映射机制以及画线功能实现
---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...
- mfc+vtk
MFC中view类主要处理显示视图,doc类处理文档,mainframe主要为整个窗口的和工程的设置管理.由此,VTK与MFC联合编程时,需要主要的是数据操作,以及显示要很好的与MFC中的结构结合,做 ...
- 共享MFC dULL
>------ 已启动生成: 项目: OSGtest, 配置: Debug Win32 ------1>正在编译...1>AddScene.cpp1>main.cpp1> ...
- VC++/MFC 最常用宏和指令
1.#include指令 包含指定的文件,最基本的最熟悉的指令,编程中不得不用,包含库文件用双尖括号,包含自定义头文件用双引号. 2.#define指令 预定义,通常用它来定义常量(包括无参量与 ...
随机推荐
- SpringCloudConfig
方便服务配置文件统一管理,实时更新 组成 在spring cloud config组件中,分两个角色,一是config server,二是config client Config Server是一个可 ...
- luoguP1890 gcd区间 [st表][gcd]
题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表 ...
- Astar伪代码
while(OPEN!=NULL) { 从OPEN表中取估价值f最小的节点n; if(n节点==目标节点){ break; } for(当前节点n 的每个子节点X) { 算X的估价值; if(X in ...
- 关于vlfeat做vlad编码问题
这里是官方文档,可以自己查看 在这里,只是想记录一下,我这几天学习vlfeat 做vlad编码的过程,便于以后整理 网上涉及到vlfeat做vlad编码资料较少,而官网上例子又相对简单,主要是那几个参 ...
- pycharm新建ini文件或创建ini文件失败
1.pycharm创建ini格式的文件,没有对应的 ini 文件类型-------需要更新 Ini 2.setting–>marketplace 搜索 Ini ,然后进行安装,重启pycharm ...
- 面试系列13 redis都有哪些数据类型
(1)string 这是最基本的类型了,没啥可说的,就是普通的set和get,做简单的kv缓存 (2)hash 这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象 ...
- 自动生成DTO(Sugar框架)
step1:启动api项目 step2:使用postman工具,填上接口地址http://localhost:7788/api/automapper/AutoMapperSuper step3:表格数 ...
- Shuffle过程详解
- 【左偏树】[APIO2012]派遣
题意可真的是有毒 第一眼树形背包可做?(反正我没用树形背包打过,边上巨佬打的背包似乎没拿分) 后来发现可以贪心搞,我们先把一个节点所有的儿子都取进去,之后不行的话再从大的开始拿走就好了 问题就变成了了 ...
- Qt---坐标系统
Qt中经常会访问鼠标的位置,qt中将坐标分为局部坐标,与全局坐标.局部坐标用pos表示,全局坐标用globalPos表示. pos与globalPos区别: globalPos:widget鼠标所在位 ...