STL容器之set容器API(二)无重复元素原理、set容器排序、自定义数据
摘要:1.set如何实现无重复元素 void printSet(set<int>& s) { for (set<int>::iterator it = s.begin(); it != s.end(); it++) { cout << *it << " "; } cout << endl; } //set
阅读全文
STL容器pair对组
摘要:1. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> using namespace std; //创建对组 void test01() { //第一种 pair<string, int> p(string(
阅读全文
STL容器之set容器API(一)
摘要:关联式容器 插入数据自动排序 按照key insert 插入值 erase 参数可以传值 或者 迭代器 find() 返回值 迭代器 找不到返回的 end() count 计数 对于set而言 结果 就是 0 或者1 lower_bound(keyElem);//返回第一个key>=keyElem元
阅读全文
STL容器之set基本概念
摘要:set基本概念 Set的特性是。所有元素都会根据元素的键值自动被排序。Set的元素不像map那样可以同时拥有实值和键值,set的元素即是键值又是实值。Set不允许两个元素有相同的键值。 我们可以通过set的迭代器改变set元素的值吗?不行,因为set元素值就是其键值,关系到set元素的排序规则。如果
阅读全文
STL容器list使用remove删除自定义类型数据
摘要:1. #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <list> //自定义数据类型 class Person { public: Person(string name, int a
阅读全文
STL容器list容器API的常规用法
摘要:赋值、构造、大小、为空、删除 、添加 移除 remove( 10 ) 删除容器中所有与10 匹配的元素 双向循环链表 迭代器是不支持随机访问的 反转排序 reverse 反转 排序 成员函数 sort 默认排序 从小到大 自定义数据类型,必须指定排序规则 高级 多排序规则 #define _CRT_
阅读全文
STL容器list容器API
摘要:1. /* list构造函数 list<T> lstT;//list采用采用模板类实现,对象的默认构造形式: list(beg,end);//构造函数将[beg, end)区间中的元素拷贝给本身。 list(n,elem);//构造函数将n个elem拷贝给本身。 list(const list &l
阅读全文
STL容器之list基本概念
摘要:基本概念 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相较于vector的连续
阅读全文
STL容器queue的API
摘要:先进先出 没有迭代器 队头 front 队尾 back 入队 push 弹出队头 pop 大小 size 为空 empty #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <queue
阅读全文
STL容器stack的API
摘要:先进后出 没有迭代器 栈顶 top 压栈 push 弹出栈顶 pop 大小 size 为空 empty /* stack构造函数 stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式: stack(const stack &stk);//拷贝构造函数 stack赋
阅读全文
STL排序算法sort
摘要:排序 sort 引用头文件 algorithm sort(d.begin(),d.end()) 从小到大 #include <algorithm> #include <deque> void printDeque(const deque<int>& d) { for (deque<int>::con
阅读全文
STL容器deque容器API
摘要:双端数组 没有容量 API 赋值、构造、大小、交换、插入 、删除 头部删除 头部插入 pop_front push_front 3中迭代器 iterator 普通 reverse_iterator 逆序迭代器 const_iterator只读迭代器 排序 sort 引用头文件 algorithm s
阅读全文
STL迭代器分类
摘要:1.普通迭代器 iterator 2.逆序迭代器 reverse_iterator 3.只读迭代器 const_iterator 4.双向Bidirectional Iterators
阅读全文
STL容器deque概念
摘要:常数项时间:以固定的步骤完成一系列操作 基本概念 Vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。 Deque容器
阅读全文
STL容器单端和双端
摘要:单端数组 只有一个开口,如vector 双端数组 双向开口
阅读全文
STL逆序迭代器(reverse_iterator)
摘要:1. //逆时针遍历 void test02() { vector<int>v; for (int i = 0; i < 10; i++) { v.push_back(i); } printVector(v); //逆序迭代器 reverse_iterator for (vector<int>::r
阅读全文
STL容器之vector容器API(二)
摘要:存取操作 插入和删除 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> /* vector数据存取操作 at(int idx); //返回索引idx所指的数据,如果id
阅读全文
STL容器之vector容器巧用swap收缩空间
摘要:1.原理图 实例: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> //巧用swap收缩空间 void test01() { vector<int> v; for (
阅读全文
STL容器之vector容器API(一)
摘要:ector容器 单端数组(只有一个开口)、动态数组(动态扩展空间) 构造、赋值、 大小 size 重置大小 resize 容量 capacity 是否为空 empty 交换 swap #define _CRT_SECURE_NO_WARNINGS #include <iostream> using
阅读全文