Fork me on GitHub

随笔分类 -  STL

C++ STL 的学习笔记
摘要:ist.size(); //返回容器中元素的个数 1 #include <iostream> 2 #include <list> 3 4 using namespace std; 5 6 int main() 7 { 8 int num[] = { 111,222,333,444,555 }; 9 阅读全文
posted @ 2020-05-04 21:34 索智源 阅读(965) 评论(0) 推荐(0)
摘要:push_back(elem); //在容器尾部加入一个元素 1 #include <iostream> 2 #include <list> 3 4 using namespace std; 5 6 int main() 7 { 8 int num[] = { 111,222,333 }; 9 li 阅读全文
posted @ 2020-05-04 20:56 索智源 阅读(1573) 评论(7) 推荐(0)
摘要:list<T> lstT —— list 对象的默认构造 list 与 vector 一样,同样采用模板类实现,对象的默认构造形式:list<T> lstT 如: 1 #include <iostream> 2 #include <list> 3 4 using namespace std; 5 6 阅读全文
posted @ 2020-05-04 19:51 索智源 阅读(834) 评论(0) 推荐(0)
摘要:1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单元上非连续,是通过指针相连在一起的。 2. 相较于vector的连续线性空间,list会显得复杂许多 阅读全文
posted @ 2020-05-03 23:43 索智源 阅读(274) 评论(0) 推荐(0)
摘要:deque.clear(); //移除容器的所有数据 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 int num[] = { 111,222,333,444,555 }; 阅读全文
posted @ 2020-05-03 21:22 索智源 阅读(3009) 评论(0) 推荐(0)
摘要:deque.insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 deque<i 阅读全文
posted @ 2020-05-03 21:15 索智源 阅读(2057) 评论(0) 推荐(0)
摘要:1. deque 的大小 deque.size(); //返回容器中元素的个数 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 deque<int> deqInt_A; 9 阅读全文
posted @ 2020-05-02 22:56 索智源 阅读(855) 评论(0) 推荐(0)
摘要:deque 的赋值分下边4种方法: deque.assign(beg,end); //将[beg, end)区间中的数据拷贝赋值给本身。注意该区间是左闭右开的区间。 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 阅读全文
posted @ 2020-05-02 22:00 索智源 阅读(325) 评论(0) 推荐(0)
摘要:1. deque 的数据存取 这个部分和 vector 几乎一样 第一 使用下标操作 dequeName[0] = 100; //小心越界 第二 使用at 方法 如: dequeName.at(2) = 100; //小心越界 第三 接口返回的引用 dequeName.front() 和 deqIn 阅读全文
posted @ 2020-04-29 02:34 索智源 阅读(686) 评论(0) 推荐(0)
摘要:1.deque容器概念 deque是“double-ended queue”的缩写,和vector一样都是STL的容器,唯一不同的是:deque是双端数组,而vector是单端的。 、 Deque 特点: deque在接口上和vector非常相似,在许多操作的地方可以直接替换。 deque可以随机存 阅读全文
posted @ 2020-04-28 02:57 索智源 阅读(848) 评论(0) 推荐(0)
摘要:1. Vector 迭代器首地址与尾地址 begin() 和 end() 在代码中可以将迭代器用作参数的位置可以使用 begin() 和 end() 获取地址,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace st 阅读全文
posted @ 2020-04-22 03:27 索智源 阅读(908) 评论(0) 推荐(0)
摘要:1. clear() 将整个 vector 都删除 使用 vectorname.clear() 可以将整个vector 中的元素全部删除,但是内存不会释放,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 阅读全文
posted @ 2020-04-22 03:02 索智源 阅读(991) 评论(0) 推荐(0)
摘要:vector 容器下的 insert() 方法拥有返回值,由于insert() 方法拥有4种重载函数,他的返回值不尽相同。 第一种,插入单个元素后的返回值: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 阅读全文
posted @ 2020-04-16 03:10 索智源 阅读(2606) 评论(0) 推荐(1)
摘要:vector 容器可以使用 vectorName.insert() 方法插入元素,vectorName.insert() 函数一共有4种重载方法: 第一种 insert() 用法:在指定地址插入单个元素 1 #include <iostream> 2 #include <vector> 3 4 us 阅读全文
posted @ 2020-04-16 02:55 索智源 阅读(4080) 评论(0) 推荐(1)
摘要:1. 获取容器的元素个数 size() 使用 vectorName.size() 可以输出这个容器中类型的个数,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8 阅读全文
posted @ 2020-04-13 02:38 索智源 阅读(350) 评论(0) 推荐(0)
摘要:1. 通过 push_back() 尾部增加一个元素 : vector 可以通过 “push_back ” 写入数据,通过 push_back 可以将数据直接写入至 vector 的末尾,push_back 会自动申请内存,并且多次 push_back 后会自动预先分配内存,如下代码: 1 #inc 阅读全文
posted @ 2020-04-12 21:32 索智源 阅读(14577) 评论(0) 推荐(0)
摘要:vector 的几种带参构造 & 初始化与内存分配: 1. 普通的带参构造: vector 的相关对象可以在声明时通过 vector 的带参构造函数进行内存分配,如下: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std 阅读全文
posted @ 2020-04-07 10:15 索智源 阅读(483) 评论(0) 推荐(0)
摘要:在实际的开发过程中,数据结构本身的重要性完全不逊于算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要。 试想:如同栈一样的一条死胡同里停车,这样的效率会很高吗? 经典的数据结构数量有限,但是在项目实战中,我们常常重复着一些为了存放不同数据结构类型而实现顺序表、链表等结构 阅读全文
posted @ 2020-04-07 01:54 索智源 阅读(199) 评论(0) 推荐(0)
摘要:STL 主要分为三类: container(容器) - 用来管理一组数据元素 lterator(迭代器) - 可遍历STL容器内全部或部分元素的对象 algorithm(算法) - 对数据进行处理(解决问题)步骤的有限集合。 容器和算法通过迭代器可以进行无缝连接,在STL中几乎所有的代码都采用了模板 阅读全文
posted @ 2020-04-06 23:46 索智源 阅读(642) 评论(0) 推荐(0)