C++ 标准模板库(STL)

C++ 原先的标准模板库容器包括:
deque, list, queue, priority_queuem stack, vector, map, multimap, set, multiset, bitset
C++11将bitset从容器分类移去了单独分类,并且添加了:
unordered_map, unordered_multimap, unordered_set, unordered_multiset

标准模板库特性:

表达式返回值描述
X::iteratoriterator满足前向迭代器要求的任何迭代器类别
X::value_typeTT类型
X u;创建一个空的容器u
X();创建一个空的无名容器
X u(a);复制构造函数传递条件:u==a
X u==a同上
r=aX&复制赋值传递条件:r==a
a.begin()
a.end()返回结尾后一个迭代器
a.size返回a.end()-a,begin()
a.swap(b)void互换a和b
a==bbool
a!=bboolreturn !(a==b)

C++11里将复制构造函数的操作改为了移动
并且添加了a.cbegin()和a.cend()两个函数,返回常量迭代器

对于序列:dequeue,list,priority_queue,stack,vector,支持以下特性:
注意:p,q,i,j是迭代器,n是整型

表达式返回值描述
X a(n,t)声明一个序列a,有n个值为t的元素
X(n,t)从创建一个无名的序列有n个值为t的元素
X a(i,j)声明一个序列a,初始化范围[i,j)
X(i,j)创建一个无名序列,初始化范围[i,j)
a.insert(p,t)iterator在p前插入t的拷贝
a.insert(p,n,t)void在p前插入n个t的拷贝
a.insert(p,i,j)void在p前插入[i,j)元素的拷贝
a.erase( p )iterator移除p元素
a.erase(p,q)iterator移除[p,q)元素
a.clear()voiderase(begin(),end())

另外有

表达式返回值描述容器
a.front()T&vector,list,deque
a.back()T&vector,list,deque
a.push_front(t)void在头部插入tlist,deque
a.push_back(t)void在尾部插入tvector,list,deque
a.pop_front(t)void擦除头部的值list,deque
a.pop_back()void擦除尾部的值vector,list,deque
a[n]T&*(a.begin()+n)vector,deque
a. at(n)T&同a[n],但a. at(n)会做越界检查vector,deque
  1. vector:代表向量array
    有两个类函数:rbegin(),rend(),返回反向的第一个迭代器和反向的最后一个迭代器之后的值

  2. deque:代表双向队列

  3. list:双向链表
    双向链表的成员函数:

表达式描述
void merge(list<T,Alloc>& x)将列表X与调用列表合并。两个列表都必须排序,合并后x清空,O(N)
void remove(const T & val)从列表中删除val的所有实例,O(N)
void sort()以<操作符进行排序,O(NlogN)
void splice(iterator pos, list<T, Alloc> x)将链表x插入到pos之前,x清空,O(1)
void unique()移除连续的相等元素
  1. forward_list(C++11):单链表,每个元素只连接下一个元素
  2. queue
表达式描述
bool empty() const判断队列是否为空
size_type size() const返回队列中的元素数
T& front()返回队列头部元素的引用
T& back()返回队列尾部元素的引用
void push(const T& x)在队列尾部插入x
void pop()移除队列头部的元素
  1. priority_queue:支持与queue同样的操作,最大值会被移到队列头部,潜在的缺省类是vector
  2. stack
表达式描述
bool empty() const判断栈是否为空
size_type size() const返回栈中的元素数
T& top()返回栈顶部元素的引用
void push(const T& x)在栈顶部插入x
void pop()移除栈顶部的元素
  1. array:定义在array头文件里,有固定的size,没有push_back和insert操作

四个联合容器

  1. set
  2. multiset
  3. map
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值