与queue类似,如果要使用栈中的值,必须首先使用top()来检索这个值,然后使用pop()将它从栈顶删除。 序列容器还有forword_list(C++11)、priority_queue、array,有兴趣的可以去看一看,但我觉的用的不太常用,不打算整理出来了。 三、关联容器 内容太多了,为了美观以及方便查看不得不另起一篇。 关联容器(map与set)详...
#include"iostream"using namespace std;#include"string"intmain(){string s1="123456789";// 将 string 转为 char*constchar*s2=s1.c_str();cout<<"s2 : "<<s2<<endl;// 将 char* 转为 stringstrings3(s2);cout<<"s3 : "<<s3<<endl;// 为 字符指针 分配内存// 分配完内存后 使用 0 初始...
例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象,函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用; 仿函数(Functor) 适配器(Adaptor) 分配器(allocator) 2.1 容器 STL中的容器有队列容器和关联容器,容器适配器(congtainer ...
迭代器就像STL容器的指针,可以用星号*操作符解除引用. 一个保存int的vector的迭代器声明方法为:vector<int>::iterator it,这里其实可以使用auto it. vector的迭代器是"随机访问迭代器",可以把vector的迭代器与一个整数相加减,其行为和指针移动类似.it+2,*(it+2) ...
8.STL容器、位运算与常用库函数 67. 数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数。 例如输入排序数组 [1,2,3,3,3,3,4,5] 和数字 3,由于 3 在这个数组中出现了 4 次,因此输出 4。 数据范围 数组长度 [0,1000]。 样例 ...
C++STL之stack栈容器 1. 再谈栈 回顾一下之前所学的栈,栈是一种先进后出的数据结构,而实现方式需要创建多个结构体,通过链式的方式进行实现,这是标准的栈的思路,而在STL中栈可以以更为简单的方式实现。 2. 头文件 头文件 #include<stack> 3. 初始化...
1、总结:C+ STL 容器STL的叫法是“容器”,标准库里面容器不多,数组、链表、红黑树,实现都不负责thread safe、mutable之类,对比下Java的,选择很多,也挺混乱。序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list。关联容器:set,map,multiset,multimap,bitset(叫bit_array更合适)。容器适配器:sta...
vector<int> v4{1,2,3,4,5}; //指定元素初始化容器 //用数组初始化一个vector容器 int arr[] = {1,2,3,4}; vector<int> v4(arr,arr+sizeof(arr)/sizeof(int)); 3.常用赋值函数 v.assign(v1.begin(),v1.end()); //将v1固定区间内的元素拷贝赋值给v ...