STL文档

STL文档

1          List

2     头文件:#include<list>

3     实例化:list<类型>ListName

4     原型:namespacestd { template <class T, class Allocator = allocator<T> > classlist; }

构造函数(使得可以在定义时赋初值

list ();

list (size_type n, const TYPE  &v) list (const list &from)

list ( input_iterator start, input_iterator  end)

 

·无初值 

·给出n个初值 

·由另一个list初始化 

·由[start,  end)区间内的值初始化

 

 

void assign(input_iterator  start, input_iterator end);

void assign(size_type  num, const

·清空链表,插入区间[start,  end)的内容到list

·清空链表,插入num个值为val的元素 

 

 

TYPE  &val);

TYPE &back() 

返回对最后一个元素的引用

TYPE &front() 

返回对第一个元素的引用

iterator begin()

返回指向第一个元素的迭代器

iterator end()

返回指向链表末尾(最后一个元素之后的那个位置)的迭代器

void clear()

清空链表

bool empty()

如果链表为空返回true,否则返回false

iterator erase(iterator  pos);iterator erase(iterator start, iterator end);

·删除pos所指元素并返回下一元素迭代器 

·删除[start, end)之间的元素,并返回最后一个被删除元素的下个元素的迭代器 

iterator insert(  iterator pos,const TYPE &val );

void insert(  iterator pos, size_type num,const TYPE &val); void insert(  iterator pos, input_iterator start, input_iterator end );

·插入一个值为value的元素在pos位置并返回其迭代器,原pos及以后的元素后移。 

·插入num个值为value的元素在pos位置,原pos及以后元素后移。 

·插入[start, end)之间的元素到pos位置,原pos及以后元素后移 

void merge(list  &lst );void merge(list &lst, bool Cmpfunc) // bool  Cmpfunc(Type &a, Type &b)

将链表lst有序地合并到原链表中,默认使用小于号进行比较插入,可指定比较函数Cmpfunc,对两个TYPE类型元素进行比较 

void pop_back(); 

删除链表的最后一个元素。

void pop_front(); 

删除链表的第一个元素。

void push_back( const TYPE &val );

val连接到链表的最后。 

void push_front( const TYPE &val );

val连接到链表的头部。 

void remove(const  TYPE &val );

删除链表中所有值为val的元素。

void remove_if(bool  testfunc) // bool testfunc(TYPE &val)

testfunc一元函数来判断是否删除元素  如果testfunc返回true则删除该元素。

size_type  size()

返回list中元素的数量。 

void resize(  size_type n, TYPE val = 0)

将链表大小重置为n,n < size()只保留前面n个元素,否则最后size() - n个元素置为value(如果不给出,默认为0)

void reverse(); 

将链表所有元素倒转。

void sort();

void sort(Comp  compfunc);

提供nlog2n的排序效率,默认使用小于号排序,可以自己指定排序函数。 

void splice(  iterator pos, list &lst )

void splice(  iterator pos, list &lst, iterator del );

void splice(iterator  pos, list &lst, iterator start, iterator end)

·将lst链表插入到这个链表的pos位置(pos及其后元素后移)

·将lst链表中del所指元素插入到这个链表的pos位置

·将lst链表中[start, end)之间的元素插入到这个链表的pos位置

void swap( list  &lst );

交换两个链表中的元素

void unique();

去除链表中重复元素(离散化)

reverse_iterator  rbegin();

返回一个逆向迭代器,指向链表的末尾

reverse_iterator  rend();

返回一个指向开头之前位置的逆向迭代器

 

 

2.1 C++ Vector(向量容器)

1.Constructors

构造函数

vector<int>  v1; //构造一个空的vector

vector<int>  v1( 5, 42 ); //构造了一个包含5个值为42的元素的Vector

2.Operators

vector进行赋值或比较

3.assign()

Vector中的元素赋值

语法:

void assign(  input_iterator start, input_iterator end );

// 将区间[start, end)的元素赋到当前vector

void assign(  size_type num, const TYPE &val );

// num个值为val的元素到vector,这个函数将会清除掉为vector赋值以前的内容.  

 

4.at()

返回指定位置的元素

语法:

TYPE at(  size_type loc );//差不多等同v[i];但比v[i]安全;

5.back()

返回最末一个元素

6.begin()

返回第一个元素的迭代器

7.capacity()

返回vector所能容纳的元素数量(在不重新分配内存的情况下

8.clear()

清空所有元素

9.empty()

判断Vector是否为空(返回true时为空)

10.end()

返回最末元素的迭代器(译注:实指向最末元素的下一个位置)

11.erase()

删除指定元素

语法:

iterator erase(  iterator loc );//删除loc处的元素

iterator erase(  iterator start, iterator end );//删除startend之间的元素

12.front()

返回第一个元素的引用

13.get_allocator()

返回vector的内存分配器

14.insert()

插入元素到Vector

语法:

iterator insert(  iterator loc, const TYPE &val );

//在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器,

void insert(  iterator loc, size_type num, const TYPE &val );  

//在指定位置loc前插入num个值为val的元素

void insert(  iterator loc, input_iterator start, input_iterator end );

//在指定位置loc前插入区间[start, end)的所有元素

15.max_size()

返回Vector所能容纳元素的最大数量(上限)

16.pop_back()

移除最后一个元素

17.push_back()

Vector最后添加一个元素

18.rbegin()

返回Vector尾部的逆迭代器

19.rend()

返回Vector起始的逆迭代器

20.reserve()

设置Vector最小的元素容纳数量

//为当前vector预留至少共容纳size个元素的空间

21.resize()

改变Vector元素数量的大小

语法:  

void resize(  size_type size, TYPE val );  

//改变当前vector的大小为size,且对新创建的元素赋值val

22.size()

返回Vector元素数量的大小

23.swap()

交换两个Vector

语法:

void swap(  vector &from );

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
C++ STL(Standard Template Library)是C++标准库中的一个重要组成部分,它提供了一套丰富的模板类和函数,用于实现常用的数据结构和算法。STL的目标是提供高效、可靠的数据结构和算法,并且尽可能地简化开发者的工作。 Markdown是一种轻量级标记语言,它使用简单的标记语法来标记文本的结构和格式,并将其转换为有效的HTML。STL Markdown文档是通过STL库中的类和函数来实现Markdown语法功能的文档STL Markdown文档可以包含以下几个方面的内容: 1. 标题和段落:使用STL提供的字符串处理类和函数,可以将Markdown文档中的标题和段落转换为HTML的标题和段落标签。 2. 列表:通过STL提供的容器类(如vector)和算法(如for_each)可以实现Markdown文档中的有序和无序列表,并将其转换为HTML的列表标签。 3. 强调和链接:使用STL中的字符串操作函数,可以实现Markdown文档中的强调和链接功能,并将其转换为HTML的相应标签。 4. 代码块:通过STL中的字符串操作函数和文件操作函数,可以将Markdown文档中的代码块提取出来,并转换为HTML的代码块标签。 5. 表格:使用STL中的容器类和算法,可以实现Markdown文档中的表格功能,并将其转换为HTML的表格标签。 通过使用STL库中的类和函数,开发者可以方便地实现Markdown文档的各种功能,并将其转换为HTML的标签,以达到在不同平台上展示内容的目的。STL Markdown文档的实现可以提高开发效率,减少开发工作量,并且保证了代码的可靠性和效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯的世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值