STL容器类型

STL 容器

目录

vector模板函数表
deque模板函数表
list模板函数表
set关联容器函数表
multiset关联容器函数表
map关联容器函数表
multimap关联容器函数表
queue配接器函数表
priority_queue配接器函数表
stack配接器函数表

 

vector模板函数表

简介

vector对象是stl提供最简单,也是最常用的容器模板之一它与数组之间的相似性在于提供了对序列中的元素进行随机访问,但是与传统的数组不同之处在于vector对象在运行时候可以动态的改变自身的大小以便容纳任何数目的元素,它提供了对数组元素的快速随机访问,以及在序列尾部快速插入和删除操作,当然它也支持在序列中的其他地方插入和删除元素,但是这时效率会有所降低.这时因为vector对象必须移动对象位置以容纳新的元素或要收回被删除元素的空间

内存空间逻辑结构图

STL容器类型_第1张图片

成员函数/变量

成员函数

描述

vector()

创建一个空的vector

vector(size_type n)

创建一个vector,有元素个数为n

vector(size_type n,const t& t)

创建一个vector,有元素个数为n,且元素都为t

vector(const vector&)

创建一个vector,用一个以存在的vector里的元素去初始化新的vector

vector(const_iterator,const_iterator)

创建一个vector用第一个const_iterator到第二个const_iterator范围内的元素初始化vector

iterator begin()

返回vector的头指针

const_iterator begin()const

iterator end()

返回vector的尾指针

const_iterator end()const

reverse_iterator rbegin()

返回反向vector的反向头指针

const_reverse_iterator rbegin()const

reverse_iterator rend()

返回反向vector的反向尾指针

const_reverse_iterator rend()const

size_type size()const

返回vector的元素个数

size_type max_size()const

返回最大可允许的vector元素个数值

size_type capacity()const

返回当前所能容纳的最多元素个数

bool empty()const

判断vector是否为空

reference operator[](size_type n)const

返回第n个元素

const_reference operator[] (size_type n)const

~vector()

vector的析构函数

void reserve(size_t)

为vector预先分配size_t个元素

reference front()

返回第一个元素

const_reference front()const

reference back()

返回最后一个元素

const_reference back()const

void push_back(const t&t)

在vector尾部插入一个元素值为t

void pop_back()

在vector尾部删除一个元素

void swap(vector&)

交换两个vector里面的元素

iterator insert(iterator pos,const t&t)

在pos前插入t

void insert (iterator pos,size_type n,const t& t)

在pos前插入n个t

void insert (iterator pos,const_iterator first,const_iterator last);

在pos前插入[first,last)区间的元素

void clear()

删除所有元素

void resize(size_type n,t t)

重新指定队列的长度为n,元素值为t

iterator erase(iterator pos)

删除在位置pos的元素

iterator erase(iterator first,iterator last)

删除从位置first开始到last为止区间的元素

void assign (const_iterator first, const_iterator last)

将[first,end)区间中的数据赋值给vector

void assign (size_type n, const t& x = t())

将n个x的拷贝赋值给vector

reference at(size_type pos)

返回第n个元素

const_reference at(size_type pos) const

数据成员

描述

value_type

vector中存放的对象类型,它和vector的t类型相同

pointer

指向t的指针

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录vector长度

different_type

描述了一个对象用于表示在vector中任何两个元素的地址之间的区别

iterator

访问vector的迭代器

const_iterator

访问vector的常量迭代器

reverse_iterator

访问vector的反向迭代器

const_reverse_iterator

访问vector的反向常量迭代器

 

deque模板函数表

简介

所谓的deque是"double ended queue"的缩写,他是一种动态数形式,可以向两端发展,因此不论在尾部或头部插入元素,都是否迅速.在中间插入元素则会比较费时,因为必须移动中间其他的元素,这是一种随机访问的数据类型,提供了在序列两端快速插入和删除操作的功能,它可以在需要的时候改变自身大小,也就是说这是一种双端队列容器,完成了标准的c++数据结构中队列的所有功能.deque对象在队列的两端放置元素和删除元素是高效的,而向量vector只是在插入序列的末尾时操作才是高效的

内存空间逻辑结构图

STL容器类型_第2张图片

成员函数/变量

成员函数

描述

deque()

创建一个空的deque

deque(size_type n)

创建一个deque有元素个数为n

deque(size_type n,const &t t)

创建一个deque有元素个数为n,且元素都为t

deque(const deque&)

创建一个deque用一个以存在的deque里的元素去初始化新的deque

deque(const_iterator,const_iterator)

创建一个deque用第一个const_iterator到第二个const_iterator范围内的元素初始化deque

iterator begin()

返回deque的头指针

iterator end()

返回deque的尾指针

const_iterator begin()const

返回deque的常量头指针

const_iterator end()const

返回deque的常量尾指针

reverse_iterator rbegin()

返回反向deque的反向头指针

reverse_iterator rend()

返回反向deque的反向尾指针

const_reverse_iterator rbegin()const

返回反向deque的反向常量头指针

const_reverse_iterator rend()const

返回反向deque的反向常量尾指针

size_type size()const

返回deque的元素个数

size_type max_size()const

返回最大可允许的deque元素个数值

bool empty()const

判断deque是否为空

reference operator[](size_type n)

返回第n个元素(一变量形式返回)

const_reference operator[] (size_type n)const

返回第n个元素(一常量形式返回)

reference at(size_type pos)

返回第n个元素(一变量形式返回)

const_reference at(size_type pos) const

返回第n个元素(一常量形式返回)

~deque()

deque的析构函数

reference front()

返回第一个元素(以变量形式返回)

reference back()

返回最后一个元素(以变量形式返回)

const_reference front()const

返回第一个元素(以常量形式返回)

const_reference back()const

返回最后一个元素(以常量形式返回)

void push_back(const t& t)

在deque尾部插入一个元素值为t

void push_front(const t& t)

在deque头部插入一个元素值为t

void pop_back()

在deque尾部删除一个元素

void pop_front()

在deque头部删除一个元素

void swap(deque&)

交换两个deque里面的元素

iterator insert(iterator pos,const t&t)

在pos前插入t

void insert (iterator pos,size_type n,const t& t)

在pos前插入n个t

void insert (iterator pos,const_iterator first,const_iterator last);

在pos前插入[first,last)区间的元素

iterator erase(iterator pos)

删除在位置pos的元素

iterator erase(iterator first,iterator last)

删除从位置first开始到last为止区间的元素

void assign (const_iterator first, const_iterator last)

将[first,end)区间中的数据赋值给deque

void assign (size_type n, const t& x = t())

将n个x的拷贝赋值给deque

void resize(size_type n, t x = t());

重新指定队列的长度为n,元素值为t

void clear()

删除所有元素

数据成员

描述

value_type

deque中存放的对象类型,它和deque的t类型相同

pointer

指向t的指针

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录deque长度

difference_type

描述了一个对象用于表示在deque中任何两个元素的地址之间的区别

iterator

访问deque的迭代器

const_iterator

访问deque的常量迭代器

reverse_iterator

访问deque的反向迭代器

const_reverse_iterator

访问deque的反向常量迭代器

 

list模板函数表

简介

list是一个双向链表容器,完成了标准的c++数据结构中链表的所有功能,list与vector和deque类似,只不过其中的对象提供了对象元素的随机访问,它不支持随机访问的数组类型,因为stl以双向链表的方式实现list对象,所以访问链表元素要指针从链表的某个端点开始.插入和删除操作所花费的时间是固定的,也就是说,list对象插入和删除一个元素所需要的时间与该元素在链表中的位置无关,
list由双向串行(doubly linked list)实作而成,这意味list内每个元素都以一部分内存指示其前导元素和后继元素,list不提供随机存取,因此如果你要存取第10个元素,你必须沿着链串,依次走过9个元素,不过,移动至下一个元素或者前一个元素的行为,可以再常数时间内完成,因此一般的元素存取动作将花费线性时间(平均距离与元素数量成比例).这比vector和deque提供的分摊性时间常数时间,性能差很多,
list的优点是任何位置执行插入或删除动作比较迅速,因为所需要改变的只是链接(link)而已.这表示在list中移动一段元素比在vector和deque都快很多.从以上的阐述可以看出,list对象在序列中的任何位置和删除元素都是高效的,list对象在需要的时候可以改变其自身大小

内存空间逻辑结构图

STL容器类型_第3张图片

成员函数/变量

成员函数

描述

list()

创建一个空的list

list(size_type n)

创建一个list有元素个数为n

list(size_type n,const &t t)

创建一个list有元素个数为n,且元素都为t

list(const deque&)

创建一个list用一个以存在的list里的元素去初始化新的list

list(const_iterator,const_iterator)

创建一个list用第一个const_iterator到第二个const_iterator范围内的元素初始化list

iterator begin()

返回list的头指针

iterator end()

返回list的尾指针

const_iterator begin()const

返回list的常量头指针

const_iterator end()const

返回list的常量尾指针

reverse_iterator rbegin()

返回反向list的反向头指针

reverse_iterator rend()

返回反向list的反向尾指针

const_reverse_iterator rbegin()const

返回反向list的反向常量头指针

const_reverse_iterator rend()const

返回反向list的反向常量尾指针

size_type size()const

返回list的元素个数

size_type max_size()const

返回最大可允许的list元素个数值

bool empty()const

判断list是否为空

reference front()

返回第一个元素(以变量形式返回)

reference back()

返回最后一个元素(以变量形式返回)

const_reference front()const

返回第一个元素(以常量形式返回)

const_reference back()const

返回最后一个元素(以常量形式返回)

void push_back(const t& t)

在list尾部插入一个元素值为t

void push_front(const t& t)

在list头部插入一个元素值为t

void pop_back()

在list尾部删除一个元素

void pop_front()

在list头部删除一个元素

void swap(list&)

交换两个list里面的元素

iterator insert(iterator pos,const t&t)

在pos前插入t

void insert (iterator pos,size_type n,const t& t)

在pos前插入n个t

void insert (iterator pos,const_iterator first,const_iterator last);

在(迭代器)pos位置前插入[first,last)区间的元素

iterator erase(iterator pos)

删除在(迭代器)pos位置的元素

iterator erase(iterator first,iterator last)

删除从(迭代器)first开始到last为止区间的元素

void assign (const_iterator first, const_iterator last)

将[first,end)区间中的数据赋值给list

void assign (size_type n, const t& x = t())

将n个x的拷贝赋值给list

void resize(size_type n, t x = t());

重新指定队列的长度为n,元素值为t

void clear()

删除所有元素

void splice(iterator pos, list& x);

在(迭代器)pos位置.把另一个list 的x中的元素结合到现有list中.把源list中元素删除

void splice(iterator pos,list& x,iterator first)

在(迭代器)pos位置.把另一个list 的x中的从first元素到结束这个区间的元素结合到现有list中.把源list中插入到现有的list里去的元素删除

void splice(iterator pos,list& x, iterator first, iterator last)

在pos这个位置.把另一个list 的x中的从first元素到last元素这个区间的元素结合到现有list中.把源list中插入到现有的list里去的元素删除

void remove(const t& x)

删除链表中匹配值的元素(匹配元素全部删除)

void remove_if (binder2nd<not_equal_to<t> > pr)

删除条件满足的元素(会遍历一遍链表)

void unique()

删除相邻重复元素(断言已经排序,因为它不会删除不相邻的相同元素)

void unique(not_equal_to<t> pr)

删除相邻重复元素(断言已经排序,因为它不会删除不相邻的相同元素)

void merge(list& x)

合并两个链表并使之升序

void merge(list& x, greater<t> pr)

合并两个链表并使之降序

void sort()

对链表排序,升序排列

void sort(greater<t> pr)

对链表排序,降序排列

void reverse()

反转链表中元素的顺序

数据成员

描述

value_type

list中存放的对象类型,它和list的t类型相同

pointer

指向t的指针

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录list长度

difference_type

描述了一个对象用于表示在list中任何两个元素的地址之间的区别

iterator

访问list的迭代器

const_iterator

访问list的常量迭代器

reverse_iterator

访问list的反向迭代器

const_reverse_iterator

访问list的反向常量迭代器

 

set关联容器函数表

简介

set是一种随机存取容器,其关键字和数据元素是同一值,set对象中的所有元素必须具有唯一值,也就是说它不包含重复元素.set对象可以使程序按照次序来存储一组数值.在一个集合中,元素即作为被存储的数据又作为数据的关键值,本质上一个集合就像一个有序排列

内存空间逻辑结构图

STL容器类型_第4张图片

成员函数/变量

成员函数

描述

explicit set(const pred& comp = pred(), const a& al = a())

创建一个空的set

set(const set& x)

创建一个set用一个以存在的set里的元素去初始化新的set

set(const value_type *first,const value_type *last, const pred& comp = pred(),const a& al = a())

创建一个set用第一个const_iterator到第二个const_iterator范围内的元素初始化set

const_iterator begin() const

返回set的头指针

iterator end() const

返回set的尾指针

const_reverse_iterator rbegin() const

返回set的反向头指针

const_reverse_iterator rend() const

返回set的反向尾指针

size_type size() const

返回set的元素个数

size_type max_size() const

返回最大可允许的set元素个数值

bool empty() const

判断set是否为空

pair<iterator, bool> insert(const value_type& x)

插入元素x

iterator insert(iterator it, const value_type& x)

插入从it(迭代器)后面的x个元素

void insert(init first, init last)

插入从first(迭代器)开始到last(迭代器)范围内的元素

iterator erase(iterator pos)

删除在位置pos的元素

iterator erase(iterator first, iterator last)

删除从位置first开始到last为止区间的元素

size_type erase(const key& key)

删除在关键字为key的所有元素

void clear()

删除所有元素

void swap(set x)

交换两个set里面的元素

key_compare key_comp() const

 

value_compare value_comp() const

 

const_iterator find(const key& key) const

返回第一个与key相等的元素的地址,如果没有则返回容器的end()的地址

size_type count(const key& key) const

返回在lower_bound与upper_bound范围内的与key相等的元素的个数

const_iterator lower_bound (const key& key) const

返回第一个元素小于key元素的地址,如果没有则返回容器的end()的地址

const_iterator upper_bound (const key& key) const

返回第一个元素大于key元素的地址,如果没有则返回容器的end()的地址

pair<const_iterator, const_iterator> equal_range(const key& key) const

 

数据成员

描述

pointer

指向t的指针

value_type

set中存放的对象类型,它和set的t类型相同

key_type

用于描述在set中每个元素的key对象

value_compare

通过两个元素的值的比较来确定它们在set中的相对关系

key_compare

通过两个元素类的key的比较来确定它们在set中的相对关系

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录set长度

different_type

描述了一个对象用于表示在set中任何两个元素的地址之间的区别

iterator

访问set的迭代器

const_iterator

访问set的常量迭代器

reverse_iterator

访问set的反向迭代器

const_reverse_iterator

访问set的反向常量迭代器

 

multiset关联容器函数表

简介

multiset是另外一种类型的容器,其关键字和数据元素是同样的值,与set不同的是,它可以包含重复的元素,multiset对象可以使程序按照次序来存储一组数值,与集合类似,多重集合的元素即作为被存储的数据又作为数据的关键字,然而,与集合不同,多重集合可以包含重复元素的数据

内存空间逻辑结构图

STL容器类型_第5张图片

成员函数/变量

成员函数

描述

explicit multiset(const pred& comp = pred(),
const a& al = a())

创建一个空的multiset

multiset(const multiset& x)

创建一个multiset用一个以存在的multiset里的元素去初始化新的multiset

multiset(const value_type *first,const value_type *last,
const pred& comp = pred(),const a& al = a())

创建一个multiset用第一个const_iterator到第二个const_iterator范围内的元素初始化multiset

const_iterator begin() const

返回multiset的头指针

iterator end() const

返回multiset的尾指针

const_reverse_iterator rbegin() const

返回multiset的反向头指针

const_reverse_iterator rend() const

返回multiset的反向尾指针

size_type size() const

返回multiset的元素个数

size_type max_size() const

返回最大可允许的multiset元素个数值

bool empty() const

判断multiset是否为空

iterator insert(const value_type& x)

插入元素x

iterator insert(iterator it, const value_type& x)

插入从it(迭代器)后面的x个元素

void insert(init first, init last)

插入从first(迭代器)开始到last(迭代器)范围内的元素

iterator erase(iterator pos)

删除在位置pos的元素

iterator erase(iterator first, iterator last)

删除从位置first开始到last为止区间的元素

size_type erase(const key& key)

删除在关键字为key的所有元素

void clear()

删除所有元素

void swap(multiset x)

交换两个set里面的元素

key_compare key_comp() const

 

value_compare value_comp() const

 

const_iterator find(const key& key) const

返回第一个与key相等的元素的地址,如果没有则返回容器的end()的地址

size_type count(const key& key) const

返回在lower_bound与upper_bound范围内的与key相等的元素的个数

const_iterator lower_bound (const key& key) const

返回第一个元素小于key元素的地址,如果没有则返回容器的end()的地址

const_iterator upper_bound (const key& key) const

 

pair<const_iterator, const_iterator> equal_range(const key& key) const

 

数据成员

描述

pointer

指向t的指针

value_type

multiset中存放的对象类型,它和multiset的t类型相同

key_type

用于描述在multiset中每个元素的key对象

value_compare

通过两个元素的值的比较来确定它们在multiset中的相对关系

key_compare

通过两个元素类的key的比较来确定它们在multiset中的相对关系

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录multiset长度

different_type

描述了一个对象用于表示在multiset中任何两个元素的地址之间的区别

iterator

访问multiset的迭代器

const_iterator

访问multiset的常量迭代器

reverse_iterator

访问multiset反向迭代器

const_reverse_iterator

访问multiset的反向常量迭代器

 

map关联容器函数表

简介

map是一种关联容器,它包含成对数据的类容,其中一个值是实际数据值,另外一个是用来寻找数据的关键值,一个特定的关键值只能与一个元素相联系,map是由一对一对的键值所组成的排序结构体,键值独一无二,map通常是以balanced binary tree 来实现的,但并非强制规定,事实上map的内部结构通常和set一样,但map确实和set以及multiset不同,在set和multiset中,元素即作为被存储的数据结构又作为数据结构的关键值,因此我们可以将set视为一种特殊的map,其键值和实值是相同的,所以map和set几乎拥有相同的能力

内存空间逻辑结构图

STL容器类型_第6张图片

成员函数/变量

成员函数

描述

explicit map(const pred& comp = pred(), const a& al = a())

创建一个空的map

map(const map& x)

创建一个map用一个以存在的map里的元素去初始化新的map

map(const value_type *first, const value_type *last,
const pred& comp = pred(),const a& al = a())

创建一个map用第一个const_iterator到第二个const_iterator范围内的元素初始化map

iterator begin()

返回map的头指针

const_iterator begin() const

iterator end()

返回map的尾指针

iterator end() const

reverse_iterator rbegin()

返回map的反向头指针

const_reverse_iterator rbegin() const

reverse_iterator rend()

返回map的反向尾指针

const_reverse_iterator rend() const

size_type size() const

返回map的元素个数

size_type max_size() const

返回最大可允许的map元素个数值

bool empty() const

判断map是否为空

pair<iterator, bool> insert(const value_type& x)

插入元素x

iterator insert(iterator it, const value_type& x)

插入从it(迭代器)后面的x个元素

void insert(const value_type *first, const value_type *last)

插入从first(迭代器)开始到last(迭代器)范围内的元素

iterator erase(iterator pos)

删除在位置pos的元素

iterator erase(iterator first, iterator last)

删除从位置first开始到last为止区间的元素

size_type erase(const key& key)

删除在关键字为key的所有元素

void clear()

删除所有元素

void swap(map x)

交换两个map里面的元素,如果没有则返回容器的end()的地址

key_compare key_comp() const

 

value_compare value_comp() const

 

iterator find(const key& key)

返回第一个与key相等的元素的地址,如果没有则返回容器的end()的地址

const_iterator find(const key& key) const

size_type count(const key& key) const

返回在lower_bound与upper_bound范围内的与key相等的元素的个数

iterator lower_bound(const key& key)

返回第一个元素小于key元素的地址,如果没有则返回容器的end()的地址

const_iterator lower_bound (const key& key) const

iterator upper_bound(const key& key)

返回第一个元素大于key元素的地址,如果没有则返回容器的end()的地址

const_iterator upper_bound(const key& key) const

pair<iterator, iterator> equal_range(const key& key)

 

pair<const_iterator, const_iterator> equal_range(const key& key) const

数据成员

描述

pointer

指向t的指针

value_type

map中存放的对象类型,它和map的t类型相同

key_type

用于描述在map中每个元素的key对象

value_compare

通过两个元素的值的比较来确定它们在map中的相对关系

key_compare

通过两个元素类的key的比较来确定它们在map中的相对关系

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录map长度

different_type

描述了一个对象用于表示在map中任何两个元素的地址之间的区别

iterator

访问map的迭代器

const_iterator

访问map的常量迭代器

reverse_iterator

访问map的反向迭代器

const_reverse_iterator

访问map的反向常量迭代器

 

multimap关联容器函数表

简介

multimap是一种允许出现重复关键字的关联容器,然而与map对象不同,它的一个关键字可以与多个元素相联系,multimap允许键值重复,multimap与map的关系完全相同于multiset与set的关系,

内存空间逻辑结构图

STL容器类型_第7张图片

成员函数/变量

成员函数

描述

explicit map(const pred& comp = pred(), const a& al = a())

创建一个空的multimap

map(const map& x)

创建一个multimap用一个以存在的multimap里的元素去初始化新的multimap

map(const value_type *first,const value_type *last,
const pred& comp = pred(),const a& al = a())

创建一个multimap用第一个const_iterator到第二个const_iterator范围内的元素初始化multimap

iterator begin()

返回multimap的头指针

const_iterator begin() const

iterator end()

返回multimap的尾指针

iterator end() const

reverse_iterator rbegin()

返回multimap的反向头指针

const_reverse_iterator rbegin() const

reverse_iterator rend()

返回multimap的反向尾指针

const_reverse_iterator rend() const

size_type size() const

返回multimap的元素个数

size_type max_size() const

返回最大可允许的multimap元素个数值

bool empty() const

判断multimap是否为空

pair<iterator, bool> insert(const value_type& x)

插入元素x

iterator insert(iterator it, const value_type& x)

插入从it(迭代器)后面的x个元素

void insert(const value_type *first, const value_type *last)

插入从first(迭代器)开始到last(迭代器)范围内的元素

iterator erase(iterator pos)

删除在位置pos的元素

iterator erase(iterator first, iterator last)

删除从位置first开始到last为止区间的元素

size_type erase(const key& key)

删除在关键字为key的所有元素

void clear()

删除所有元素

void swap(multimap x)

交换两个multimap里面的元素

key_compare key_comp() const

 

value_compare value_comp() const

 

iterator find(const key& key)

返回第一个与key相等的元素的地址,,如果没有则返回容器的end()的地址

const_iterator find(const key& key) const

size_type count(const key& key) const

返回在lower_bound与upper_bound范围内的与key相等的元素的个数

iterator lower_bound(const key& key)

返回第一个元素小于key元素的地址,如果没有则返回容器的end()的地址

const_iterator lower_bound (const key& key) const

iterator upper_bound(const key& key)

返回第一个元素大于key元素的地址,如果没有则返回容器的end()的地址

const_iterator upper_bound(const key& key) const

pair<iterator, iterator> equal_range(const key& key)

 

pair<const_iterator, const_iterator> equal_range(const key& key) const

数据成员

描述

pointer

指向t的指针

value_type

map中存放的对象类型,它和map的t类型相同

key_type

用于描述在map中每个元素的key对象

value_compare

通过两个元素的值的比较来确定它们在map中的相对关系

key_compare

通过两个元素类的key的比较来确定它们在map中的相对关系

reference

t的引用

const_reference

t的常量引用

size_type

正整数类型,记录map长度

different_type

描述了一个对象用于表示在map中任何两个元素的地址之间的区别

iterator

访问map的迭代器

const_iterator

访问map的常量迭代器

reverse_iterator

访问map的反向迭代器

const_reverse_iterator

访问map的反向常量迭代器

 

queue配接器函数表

简介

queue是一种队列容器,它采用deque和list对象创建一个先进先出(fifo)的容器,它实际完成了标准的c++数据结构中的队列的所有功能.也就是说,队列中的元素在一端插入,在另一端删除.queue可以用deque或list对象创建对象

成员函数/变量

成员函数

描述

queue()

默认的构造函数,生成一个空的堆栈

queue(const queue &)

拷贝型构造函数

void pop()

删除队列的第一个值,前提条件是队列非空,删除操作成功后队列长度会减1

bool empty ()const

判断队列是否为空,如果空返回true,否则返回false,s.empty == s.size()=0

size_type size()const

返回队列中的元素个数

value_type &top()

返回队列第一个元素值的引用(以变量形式返回),前提为队列非空

const value_type &top()const

返回队列第一个元素值的引用(以常量形式返回),前提为队列非空

void push(const value_type& x)

把元素x插入都队列尾部,这时队列的长度加1,队列的back()值为x

数据成员

描述

value_type

queue中存放的对象类型,它和queue中的t类型相同

size_type

正整数类型,它和sequence::size_type类型一样

 

priority_queue配接器函数表

简介

priority_queue是一种按值排序的队列容器.它使用vector或者deque对象创建出来一个排列队列,priority_queue一般称为优先队列,他是指按照优先级次序从队列中弹出元素的数据结构.优先级是建立在所提供的的比较函数(又称谓词)基础上的.例如,每次在添加或者删除优先级队列的值如果使用预定义的谓词less<>那么优先级队列中的内容会按照降序排列,这就是说的最大的值优先级越高

成员函数/变量

成员函数

描述

priority_queue()

默认的构造函数生成一个空的priority_queue

priority_queue(const queue&)

拷贝型构造函数

priority_queue(const compare&comp)

该构造函数生成一空的priority_queue对象,使用comp作为 priority_queue的compare

priority_queue(const value_type* first, const value_type* last)

priority_queue(const value_type*first,
const value_type* last,const compare&comp)

bool empty()

判断优先级队列是否为空,如果空返回true,否则返回false,s.empty == s.size()=0

size_type size()const

返回优先级队列中的元素个数

value_type& top()

返回优先级队顶部元素引用(以变量形式返回)前提是优先级队非空

const value_type& top()const

返回优先级队顶部元素引用(以常量形式返回)前提是优先级队非空

void push(const value_type& x)

把x元素插入到优先级队的顶部,这时优先级队的长度加1.优先级队的顶部值为x

void pop()

删除优先级队顶部的值,前提是优先级队非空,删除操作成功的话优先级队长度会减1

数据成员

描述

value_type

priority_queue中存放的对象类型,它和priority_queue中的t类型相同

size_type

正整数类型,它和sequence::size_type类型一样

 

stack配接器函数表

简介

stack是一种堆栈容器,它实现了对元素的先进后出的操作,完成了标准的c++的数据结构中栈的所有功能,也就是说,它通过vector,deque或list对象创造出一个先进后出的容器,

成员函数/变量

成员函数

描述

stack()

默认构造函数,生成一个空堆栈

stack(const stack&)

拷贝类型构造函数

bool empty()const

判断堆栈是否为空,如果空返回true,否则返回false,s.empty == s.size()=0

size_type size()const

返回堆栈中的元素个数

value_type& top()

返回堆栈顶部元素的引用(以变量形式返回)前提是堆栈非空

const value_type& top()const

返回堆栈顶部元素的引用(以常量形式返回)前提是堆栈非空

void push(const value_type& x)

把x元素插入到堆栈的顶部,这时堆栈的长度加1.堆栈的顶部值为x

void pop()

删除堆栈顶部的值,前提是堆栈非空,删除操作成功的话堆栈长度会减1

数据成员

描述

value_type

stack中存放的对象类型,它和stack中的t类型相同

size_type

正整数类型,它和sequence::size_type类型一样

 

转自:http://www.cnblogs.com/kzloser/archive/2012/11/02/2750915.html

你可能感兴趣的:(STL容器类型)