出自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. JS事件 失焦事件(onblur)onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

    失焦事件(onblur) onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序. 如下代码, 网页中有用户和密码两个文本框.当前光标 ...

  2. VBA文件对话框的应用(VBA打开文件、VBA选择文件、VBA选择文件夹)

    在VBA中经常要用到文件对话框来进行打开文件.选择文件或选择文件夹的操作.用Microsoft Office提供的文件对话框比较方便.用法如下Application.FileDialog(fileDi ...

  3. 安装rubygems

    转载 http://blog.csdn.net/huanghai200911/article/details/51251472 1,下载rubygems-2.4.8.tar包,下载地址:https:/ ...

  4. 分布式唯一ID实现

    ID生成的核心需求 全局唯一 趋势有序 为什么要全局唯一 避免ID冲突 著名的例子就是身份证号码,身份证号码确实是对人唯一的,然而一个人是可以办理多个身份证的,例如你身份证丢了,又重新补办了一张,号码 ...

  5. day25 模块,sys, logging, json, pickle

      Python之路,Day13 = Python基础13 sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sy ...

  6. golang模块viper读取配置文件

    一.介绍 Viper是一个方便Go语言应用程序处理配置信息的库.它可以处理多种格式的配置.它支持的特性: 设置默认值 从JSON.TOML.YAML.HCL和Java properties文件中读取配 ...

  7. vuecli脚手架+vue+vuex实现vue驱动的demo。

    哎呀呀呀,现在大家都要会Vue ||  React,否则感觉跟这个前端的世界脱节了一样. start: vue-cli这个构建工具大大降低了webpack的使用难度,支持热更新,有webpack-de ...

  8. Mysql保留字列表

      Mysql保留字列表.吠品整理. 尝试使用一个识别符,例如使用嵌入式MySQL 数据类型或函数名作为表名或列名,例如TIMESTAMP 或GROUP,会造成一个常见问题.允许你这样操作( 例如,A ...

  9. Spring MVC(十五)--SpringMVC国际化配置项

    Spring MVC中,当DispatcherServlet初始化的时候,会解析一个LocaleResolver接口的实现类,这个实现类就是用来解析国际化的. 一.国际化解析器 Spring MVC中 ...

  10. 7_2.springboot2.x启动配置原理_2.运行run方法

    当创建完SpringApplication对象之后运行run方法 public ConfigurableApplicationContext run(String... args) { StopWat ...