出自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使用的更多相关文章

  1. vs2010静态链接MFC库报链接错误

    由于需要将MFC程序在其它电脑上运行,所以需要将动态链接的MFC改成静态链接,本以为很简单,没想到链接的时候出现下面的链接错误: uafxcw.lib(afxmem.obj) : error LNK2 ...

  2. MFC中成员变量的声明顺序与析构顺序

    第一次用博客,第一篇随笔,就写今天遇到的一个问题吧. 在VS2008的MFC对话框程序,窗口成员变量的声明顺序与其析构顺序相反,即,先声明的变量后析构,后声明的变量先析构.未在其他模式下测试. cla ...

  3. VC中的MFC到底是什么?

    1. 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API ...

  4. MFC&Halcon之实时视频监控

    上一篇实现了在MFC的窗体内显示图片,本篇介绍如何在MFC窗体内实时显示摄像头的影像. 要实现的功能是点击一个“开始”按钮,可以显示影像,再点击“停止”按钮,可以停止显示. 因为实时显示影像需要在一个 ...

  5. MFC快速入门 - 菜单

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6231104.html 打开VS2010,依次打开File – New – Proje ...

  6. MFC画线功能总结

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...

  7. MFC消息映射机制以及画线功能实现

    ---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...

  8. mfc+vtk

    MFC中view类主要处理显示视图,doc类处理文档,mainframe主要为整个窗口的和工程的设置管理.由此,VTK与MFC联合编程时,需要主要的是数据操作,以及显示要很好的与MFC中的结构结合,做 ...

  9. 共享MFC dULL

    >------ 已启动生成: 项目: OSGtest, 配置: Debug Win32 ------1>正在编译...1>AddScene.cpp1>main.cpp1> ...

  10. VC++/MFC 最常用宏和指令

    1.#include指令  包含指定的文件,最基本的最熟悉的指令,编程中不得不用,包含库文件用双尖括号,包含自定义头文件用双引号. 2.#define指令   预定义,通常用它来定义常量(包括无参量与 ...

随机推荐

  1. 快速创建vuepress项目(使用vuepress写文档)

    vuepress的官方文档:https://vuepress.vuejs.org/zh/guide/ 参考:https://segmentfault.com/a/1190000016333850 ht ...

  2. 威布尔weibull distribution

    data = wblrnd(0.5,0.8,100,1); 生成威布尔随机函数,尺寸参数为0.5,形状参数为0.8,生成数列100行,一列: parmhat = wblfit(data) 对data的 ...

  3. js添加节点

    <!DOCTYPE html><html><body><script>var message=document.createTextNode(" ...

  4. MySQL基本命令脚本

    一.基本命令 1.启动服务 说明:以管理员身份运行cmd 格式:net start 服务名称 示例:net start mysql57 2.停止服务 说明:以管理员身份运行cmd 格式:net sto ...

  5. window.location 对象中各种方法的用途

    一.简介 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostname 当前 URL 的主机名 href 完整的 URL pathname 当 ...

  6. 自定义Collection View布局

    转自answer-huang的博客 原文出自:Custom Collection View Layouts    UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一颗 ...

  7. linux下怎么安装Go开发环境?linux部署golang

    linux下怎么安装Go开发环境?linux部署golang  0.请自行安装SSH远程工具 1.  SSH远程登录你的linux服务器 2.   yum install mercurial安装 me ...

  8. STM32F4X 关于MDK上虚拟串口调试

    1. 下载安装VSPD 自行百度安装后,利用VSPD将PC上的两个虚拟串口连接起来.如图我将COM1 和COM2连接起来. a. 点击Addr pair. 可以看到Virtual ports上将两个虚 ...

  9. Eclipse_断点设置不起作用

    在使用Ecplise进行代码调试的时候,发现打了断点,却一直不进入断点,也不会进取断点调试模式,找了很久答案,之前就发现断点的样子有些奇怪,现在看来,还真是这个原因造成的. 只要不跳过断点快捷键(Ct ...

  10. Java 11 发布计划来了,已确定 3个 新特性!!

    Oracle 已经发布了 Java Development Kit 10,下一个版本 JDK 11 也在准备之中了.按照 Java 新的版本发布标准,Java 11 将在 6 个月后到来,现在它还只有 ...