list_01

双向链表

不支持随机存取([?] / at(?))

A、头尾 添加/移除

B、随机存取

  B.1、[?]   ==> 越界时,程序 崩溃

  B.2、at(?)  ==> 越界时,抛异常 out_of_range

C、数据存取

1、构造函数

  1.1、默认构造函数 ==> 无参构造函数

  1.2、必定需要 复制构造函数 :list<T> lstT(const list& );

  1.3、list<T> lstT(iteratorBegin, iteratorEnd);  // 迭代器区间[iteratorBegin, iteratorEnd)拷贝给lstT

    注意: 这里可以传数组指针,数组指针在特定情况下可以当做迭代器使用

  1.4、list<T> lstT(n, elemValue);  // n个elemValue复制给lstT

2、赋值

  2.1、重载"="操作符

      list& = const list& vec;

  2.2、void list<T>::assign(beg, end);  // [beg, end)区间拷贝给

  2.3、void list<T>::assign(n, elemValue);// n个elemValue拷贝给

3、迭代器操作

  3.1、const_iterator list<T>::begin();  // 第1个

  3.2、const_iterator list<T>::end();  // 最后1个

  3.3、const_reverse_iterator list<T>::rbegin();  // 倒数第1个

  3.4、const_reverse_iterator list<T>::rend();  // 倒数最后1个

4、插入

  注意: 拷贝插入(ZC: 也就是类实例的话,类必须提供复制构造函数)
  iterator list::insert(const_iterator, elemValue);       // 返回新元素的位置,拷贝插入
  void list::insert(const_iterator, size_type n, elemValue);
  void list::insert(const_iterator, iterator beg, iterator end); // [beg, end)区间

5、删除

  void list::clear();
  iterator list::erase(const_iterator beg, const_iterator end); // [beg, end)区间,返回下一个元素的位置
  iterator list::erase(const_iterator pos);           // 返回下一个元素的位置

6、交换

  void list<T>::swap(list<T>&);

7、大小

  size_type list<T>::size();
  bool list<T>::empty();
  void list<T>::resize(size_type);
  void list<T>::resize(size_type, elemValue);

8、查找

时间: 2024-11-08 15:22:50

list_01的相关文章

2016/12/30_Python

今天主要学习内容: Python: 1.字典的使用 1)怎么创建字典 dicts = {"name":"juncx","age":17} dicts = dict("name:juncx","age:17") 2)对字典的操作 print(dicts["name"]) #取出"name"键相对应的值 dicts["name"] = "ju

放假(三)

1.删除功能: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>删除功能</title> <script type="text/javascript"> function delTr(id){ var trObj = document.getElementById(id);

---python_os---python操作文件的笔记

1 #! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import os 4 5 __author__ = '以德服人' 6 # 获取当前目录 7 currentpath = os.getcwd() 8 print(currentpath) 9 # C:\Users\以德服人\PycharmProjects\PyDemo 10 11 # 返回指定目录下的所有文件和目录名 12 print(os.listdir(currentpath)) 13 #

记录一次bug解决过程:规范变量名称和mybatis的使用以及代码优化

一.总结 Mybatis中当parameterType为基本数据类型的时候,统一采用_parameter来代替基本数据类型变量. Mybatis中resultMap返回一个对象,resultType返回一个Map简单数据类型(由于需要缓存到JVM中)的映射关系. String类型转Integer类型:String类型转int类型用到的方法是不一样的. 方法入口处第一行写new Date(),防止时间在23:59:59跨界对逻辑带来影响. 考虑到上线app_resource表忘记配置供应商比例,在

浮动布局写了一个简单的页面

正在学习的路上...... 这两天写了一个比较简单的页面,主要使用了浮动和定位.左边的属于滚动页面,右边的list属于固定.先上图片: 主要使用了float:left/right. 1.下面是HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link type="

[ jquery 属性 .context ] 返回传给jQuery()的原始的DOM节点内容

返回传给jQuery()的原始的DOM节点内容:即jQuery()的第二个参数.如果没有指定,那么context指向当前的文档(document),可以与selector一起使用,用于精确检测选择器查询情况 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content=

[ jquery 属性 .selector ] 此选择器返回传给jQuery()的原始选择器

返回传给jQuery()的原始选择器:换句话说,就是返回你用什么选择器来找到这个元素的.可以与context一起使用,用于精确检测选择器查询情况.这两个属性对插件开发人员很有用 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my pag

Android ActionBar简单使用

ActionBar 出现在Android 3.0后 API 11之后,替代了3.0之前的标题栏 ActionBar分为四个区域 A : 图标 || B : 标题 || C : 内容切换 || D :菜单 常用方法 Activity.getActionBar() // 在Activity中得到ActionBar对象 A: ActionBar.setDisplayHomeAsUpEnabled(boolean)  // 设置A区域是否可以点击 ActionBar.setDisplayShowHome

腾讯TGideas语义化标签(转)

--------引子--------------- 家里有个熊孩子,经常会有一些意想不到的事情发生:回家的时候,他会笑呵呵冲过来,大声喊着“臭爸爸”:你让他把鞋穿上,他会提起鞋子往楼下扔...在小孩的世界里,他虽然会说话,但不一定明白其中的意思,不能正确表达:同样他也会做一些事情,但不一定按正常大人的逻辑,不能准确接收:符合预期的的交流和沟通成了奢望.因为在他的世界里,一切都处于混沌之中,一切的逻辑.规范都没有完善. 而在HTML的世界里,经历多年的成长,规范已基本成型,不同的HTML标签.属性