BZ易风

导航

 

2021年8月26日

摘要: 基本概念 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相较于vector的连续 阅读全文
posted @ 2021-08-26 17:55 BZ易风 阅读(61) 评论(0) 推荐(0) 编辑
 
摘要: 先进先出 没有迭代器 队头 front 队尾 back 入队 push 弹出队头 pop 大小 size 为空 empty #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <queue 阅读全文
posted @ 2021-08-26 17:44 BZ易风 阅读(57) 评论(0) 推荐(0) 编辑
 
摘要: 先进后出 没有迭代器 栈顶 top 压栈 push 弹出栈顶 pop 大小 size 为空 empty /* stack构造函数 stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式: stack(const stack &stk);//拷贝构造函数 stack赋 阅读全文
posted @ 2021-08-26 17:33 BZ易风 阅读(43) 评论(0) 推荐(0) 编辑
 
摘要: 排序 sort 引用头文件 algorithm sort(d.begin(),d.end()) 从小到大 #include <algorithm> #include <deque> void printDeque(const deque<int>& d) { for (deque<int>::con 阅读全文
posted @ 2021-08-26 17:13 BZ易风 阅读(56) 评论(0) 推荐(0) 编辑
 
摘要: 双端数组 没有容量 API 赋值、构造、大小、交换、插入 、删除 头部删除 头部插入 pop_front push_front 3中迭代器 iterator 普通 reverse_iterator 逆序迭代器 const_iterator只读迭代器 排序 sort 引用头文件 algorithm s 阅读全文
posted @ 2021-08-26 16:56 BZ易风 阅读(36) 评论(0) 推荐(0) 编辑
 
摘要: 1.普通迭代器 iterator 2.逆序迭代器 reverse_iterator 3.只读迭代器 const_iterator 4.双向Bidirectional Iterators 阅读全文
posted @ 2021-08-26 16:51 BZ易风 阅读(26) 评论(0) 推荐(0) 编辑
 
摘要: 常数项时间:以固定的步骤完成一系列操作 基本概念 Vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。 Deque容器 阅读全文
posted @ 2021-08-26 16:43 BZ易风 阅读(55) 评论(0) 推荐(0) 编辑
 
摘要: 单端数组 只有一个开口,如vector 双端数组 双向开口 阅读全文
posted @ 2021-08-26 16:37 BZ易风 阅读(37) 评论(0) 推荐(0) 编辑
 
摘要: 迭代器 阅读全文
posted @ 2021-08-26 16:27 BZ易风 阅读(147) 评论(0) 推荐(0) 编辑
 
摘要: 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 阅读全文
posted @ 2021-08-26 16:15 BZ易风 阅读(227) 评论(0) 推荐(0) 编辑
 
摘要: 存取操作 插入和删除 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> /* vector数据存取操作 at(int idx); //返回索引idx所指的数据,如果id 阅读全文
posted @ 2021-08-26 15:47 BZ易风 阅读(30) 评论(0) 推荐(0) 编辑
 
摘要: 1.原理图 实例: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <vector> //巧用swap收缩空间 void test01() { vector<int> v; for ( 阅读全文
posted @ 2021-08-26 15:32 BZ易风 阅读(151) 评论(0) 推荐(0) 编辑
 
摘要: ector容器 单端数组(只有一个开口)、动态数组(动态扩展空间) 构造、赋值、 大小 size 重置大小 resize 容量 capacity 是否为空 empty 交换 swap #define _CRT_SECURE_NO_WARNINGS #include <iostream> using 阅读全文
posted @ 2021-08-26 15:04 BZ易风 阅读(60) 评论(0) 推荐(0) 编辑
 
摘要: 1.vector容器基本概念 vector的数据安排以及操作方式,与array非常相似,两者的唯一差别在于空间的运用的灵活性。Array是静态空间,一旦配置了就不能改变,要换大一点或者小一点的空间,可以,一切琐碎得由自己来,首先配置一块新的空间,然后将旧空间的数据搬往新空间,再释放原来的空间。Vec 阅读全文
posted @ 2021-08-26 14:26 BZ易风 阅读(385) 评论(0) 推荐(0) 编辑
 
摘要: 修改string字符串的内容,下标操作符[]和at都会返回字符的引用。但当字符串的内存被重新分配之后,可能发生错误 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> v 阅读全文
posted @ 2021-08-26 13:51 BZ易风 阅读(59) 评论(0) 推荐(0) 编辑
 
摘要: 1.直接调用API转换 2.隐式类型转换 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* string和c-style字符串转换 //string 转 char 阅读全文
posted @ 2021-08-26 13:40 BZ易风 阅读(71) 评论(0) 推荐(0) 编辑
 
摘要: 1. /* 插入和删除操作 string& insert(int pos, const char* s); //插入字符串 string& insert(int pos, const string& str); //插入字符串 string& insert(int pos, int n, char 阅读全文
posted @ 2021-08-26 13:24 BZ易风 阅读(161) 评论(0) 推荐(0) 编辑
 
摘要: 字串 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 字串 string substr(int pos = 0, int n = npos) const;//返 阅读全文
posted @ 2021-08-26 13:20 BZ易风 阅读(18) 评论(0) 推荐(0) 编辑
 
摘要: 比较第一个不相同的字符的大小 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string> /* 比较 compare函数在>时返回 1,<时返回 -1,==时返回 0。 比较区分 阅读全文
posted @ 2021-08-26 11:29 BZ易风 阅读(206) 评论(0) 推荐(0) 编辑
 
摘要: 1.查找和替换 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> using namespace std; /* 查找和替换 int find(const string& str, int pos = 0) c 阅读全文
posted @ 2021-08-26 11:21 BZ易风 阅读(301) 评论(0) 推荐(0) 编辑