list练习小例子

 1 //双向链表list的使用
 2 //高效插入删除,若只是尾部插入删除元素,优先考虑vector
 3 //若仅于头尾两端增删元素,优先考虑deque
 4 #include "stdafx.h"
 5 #include<iostream>
 6 #include<list>            //使用list之前,必须包含头文件
 7 using std::list;          //使用List之前,需要声明list命名空间
 8 //list<int> c0;空链表
 9 //list<int> c1(3);建立一个含三个默认值是0的元素的链表
10 //list<int> c2(5,2);建立一个含五个元素的链表,默认值为2
11 //list<int> c4(c2);建立一个c2的copy链表
12 //list<int> c5(c1.begin(),c1.end());c5含c1一个区域的元素[First,last]
13 int _tmain(int argc, _TCHAR* argv[])
14 {
15     list<int> listObj{ 1, 2, 3, 4, 5 };
16     list<int>::iterator it;
17     //遍历链表
18     for (it = listObj.begin(); it != listObj.end(); it++){
19         std::cout << *it << "\t";
20     }
21     std::cout << std::endl;
22     //链表插入
23     std::cout << "insert before:";
24     for (it = listObj.begin(); it != listObj.end(); it++){
25         std::cout << *it << " ";
26     }
27     std::cout << std::endl;
28     //传入位置和插入值为参数
29     listObj.insert(listObj.begin(), 0);
30     std::cout << "insert(pos,m) after:";
31     for (it = listObj.begin(); it != listObj.end(); it++){
32         std::cout << *it << " ";
33     }
34     std::cout << std::endl;
35     //第一个参数为插入位置,第二个为插入的的个数,第三个为插入的值
36     listObj.insert(listObj.begin(), 2, 88);
37     std::cout << "insert(pos,n,m) after:";
38     for (it = listObj.begin(); it != listObj.end(); it++){
39         std::cout << *it << " ";
40     }
41     std::cout << std::endl;
42     //第一个参数为插入起始位置,第二个为要插入的指针,第三个为结束位置
43     int arr[5] = { 11, 22, 33, 44, 55 };
44     listObj.insert(listObj.begin(), arr, arr + 3);
45     std::cout << "insert(pos,beg,end) after:";
46     for (it = listObj.begin(); it != listObj.end(); it++){
47         std::cout << *it << " ";
48     }
49     std::cout <<std::endl;
50     //链表的删除
51     std::cout << " erase before:";
52     for (it = listObj.begin(); it != listObj.end(); it++){
53         std::cout << *it << " ";
54     }
55     std::cout <<std::endl;
56     //传入一个位置参数
57     listObj.erase(listObj.begin());
58     std::cout << "erase after:";
59     for (it = listObj.begin(); it != listObj.end(); it++){
60         std::cout << *it << " ";
61     }
62     std::cout << std::endl;
63     system("pause");
64     return 0;
65 }
时间: 2024-10-18 09:15:22

list练习小例子的相关文章

laravel 数据库操作小例子

public function demo() { $res = null; //insert数据插入 //$user=array('username'=>'joy','password'=>'123456','age'=>23); //$res = DB::table('users')->insert($user); /* 数据查询 $res = DB::table('users')->where('username','joy')->get(); $res = DB:

spring小例子-springMVC+mybits整合的小例子

这段时间没更博,找房去了...   吐槽一下,自如太坑了...承诺的三年不涨房租,结果今年一看北京房租都在涨也跟着涨了... 而且自如太贵了,租不起了.. 突然有点理解女生找对象要房了..   搬家太受罪了... 今天更一下springMVC整合mybits形成最简单的网站demo. 大概效果就是这样的:左边是数据库查询结果,右边是页面访问结果: 首先,一个简单的springMVC小例子可以看这个http://www.cnblogs.com/xuejupo/p/5236448.html 这是在这

cmake 之一个小例子

cmake,比手写makefile更好的选择 安装cmake,此部分略过 一.新建一个工程 这里我是在windows下使用eclipse新建了一个c工程(PS:我一般新建一个Makefile类型的工程,这样比较干净) 二.建立必要的文件夹 我的工程目录: D:\code\cpp\cmakestudy\test>tree /f 卷 软件 的文件夹 PATH 列表 卷序列号为 0006-17B7 D:. │ .cproject │ .project │ CMakeLists.txt │ ├─bin

简述人脸特异性识别&amp;&amp;一个基于LBP和SVM的人脸识别小例子

原谅我用图片,MAC在Safari里给文章进行图文排版太麻烦啦~ 本文适合初入计算机视觉和模式识别方向的同学们观看~ 文章写得匆忙,加上博主所知甚少,有不妥和勘误请指出并多多包涵. 本文Demo的代码由HZK编写,特征点由月神和YK选择和训练. 转载请注明 copyleft by sciencefans, 2014 为了方便大家学习,附上高维LBP的核心代码 1 ################################################### 2 # 3 # 4 # NO

COM2 --- 小例子

在COM1 的小例子中,,我们大概知道什么是组件类 ,什么是接口了.这小节呢,我们来实现一下由一个组件类去实现两个接口的过程. 新建项目: 我们的 解决方案的 名字是 ComDemoCode ,项目名字是 MathToolKit  这表示 我们的 项目 自动 生成的 DLL  的名字就是 MathToolKit(数学工具包). 我们的继承关系 有必要 给大家 先 列出来,让大家 看看 在这里面,IPrimerMath接口 提供 + - * / % 五个基本运算方法,IAdvanceMath接口提

python try小例子

#!/usr/bin/python import telnetlib import socket try: tn=telnetlib.Telnet('10.67.21.29',60000) except socket.error, e: print e exit(1) tn.set_debuglevel(1) tn.write('quit'+'\n') print 'ok' socket.error为错误类型 e为对象 python try小例子,布布扣,bubuko.com

C/C++ New与Delete (小例子)

转自:http://blog.csdn.net/chenzujie/article/details/7011639 先来看两段小程序: 1). #include <iostream.h> #include <String.h> void main(void) { char *str1 = "just have fun"; char *str2 = "happy day"; char *sTmpPtr = new char[255]; char

一个php多态性的小例子

多态性在 OO 中指 "语言具有以不同方式处理不同类型对象的能力",但 PHP 是弱类型语言,在这一点上就比较弱,仅有 instance of 可以用于判断对象的类型 多态性的优点:让代码更接近生活中的真实情况 一下是一个非常简单的多态性例子,描述在电脑上安装不同操作系统,linux, OS X, windows 和 computer 是两种不同类型的对象. interface os{ function name(); function creator(); } class linux

用两个小例子来解释单例模式中的“双重锁定”

学习单例模式时,好多人都不太理解双重锁定.学完后突然想到一个很有趣的例子. 单例模式结构图: 代码: Singleton类 class Singleton { private static Singleton instance; private static readonly object syncRoot = new object(); //程序运行时创建一个静态只读的进程辅助对象 private Singleton() { } //用private修饰构造方法,防止外界利用new创建此类实例

qosort 使用使用小例子

输入 1500 3150 300100 200 输出结果470 471100    200150    300470    471 #include <iostream> #include<stdlib.h> using namespace std; struct node { int a ; int b; }s[100]; int compare(const void *a,const void *b) { node *pa=(node *)a; node *pb=(node *