数据结构
文章平均质量分 86
基于C++STL模板库
LiuZuqiang_3027
҉ 加载中..
展开
-
数据结构与算法(基于<algorithm>)
C++的algorithm库是STL标准库的一部分,提供了许多常用的算法函数,包括排序、查找、遍历等等。这些函数可以大大简化C++操作数据结构的程序的编写过程,同时也具有高效和可靠的特性。原创 2023-04-02 16:09:34 · 1049 阅读 · 0 评论 -
Graph(图)干货归纳+用法示例
C++图(Graph)是一种数据结构,用于表示对象之间的关系。它由节点(Vertex)和边(Edge)组成,节点表示对象,边表示对象之间的关系。原创 2023-04-01 22:29:17 · 2462 阅读 · 0 评论 -
priority_queue(堆)干货归纳+用法示例
在C++中,堆(Heap)是一种特殊的树状数据结构,其中每个节点都比其子节点大或小(具体取决于堆的类型)。堆通常用于实现优先队列和排序算法。原创 2023-03-30 23:42:14 · 1150 阅读 · 0 评论 -
list(链表)干货归纳+用法示例
上面的程序创建了一个空的std::list对象mylist,然后向其中添加了四个元素,使用迭代器遍历了链表中的元素,并使用pop_back()、pop_front()、remove()等函数删除了部分元素,最后再次遍历链表中的元素,打印出剩余的元素。需要注意的是,std::list是一个动态分配内存的容器,因此在使用时需要注意内存管理问题,避免内存泄漏。在C++中,list是一种双向链表容器,它可以存储一组数据,而且可以在任意位置进行快速的插入、删除操作。原创 2023-03-28 23:39:59 · 872 阅读 · 0 评论 -
unordered_set/map(哈希表)干货归纳+用法详解
C++哈希表(hash table)是一种数据结构,用于存储和查找键值对。它是由一个哈希函数和一个数组组成的。哈希函数将键映射到数组中的一个位置,这个位置就是键值对应的索引。原创 2023-03-27 19:23:22 · 4983 阅读 · 0 评论 -
queue(队列)干货归纳+用法示例
7.queue1.queue简介2.queue成员函数3.queue实例1.queue简介queue即“双端有序队列”, 是STL模板库中的一种先进先出(FIFO)的适配器(容器的封装),头文件:<queue>队列遵循先进先出的原则,只能在队的前端进行删除, 在队的后端进行插入。队列内的元素不能访问。如果一定要访问队列内的元素,只能将前面元素全部从队前弹出,使之变成队首元素才可以。queue对象的默认构造形式:queue<int>a;2.queue成员函数1) q原创 2021-04-16 11:58:39 · 4597 阅读 · 1 评论 -
stack(栈)干货归纳+用法示例
6.stack1.stack简介2.stack成员函数3.stack实例1.stack简介stack即“堆栈”, 是STL模板库中的一种先进后出(FILO)的容器,头文件:<stack>堆栈遵循后进先出的原则,访问和删除都只能对栈顶的元素(即最后一个被加入栈的元素)进行,并且元素也只能被添加到栈顶。栈内的元素不能访问。如果一定要访问栈内的元素,只能将其上方的元素全部从栈中删除,使之变成栈顶元素才可以。stack对象的默认构造形式: stack <T> stkT;2.原创 2021-04-16 10:50:12 · 2161 阅读 · 1 评论 -
string(字符串)干货归纳+用法示例
5.string一.string简介1.简介:2.常用操作函数汇总:二.string常用实例1.字符串构造(初始化)2.char*(char[])、int与string的相互转换(c_str)3.字符串大小和容量(size、max_size、capacity):4.字符串比较(>,>=,<,<=,==,!=、compare):5.字符串切割、拼接(substr、append、+) :6.字符串等增、删(push_back、insert、erase) :7.字符串的查找(find) :原创 2021-04-14 14:06:45 · 4289 阅读 · 0 评论 -
map(树)干货归纳+用法示例
4.map一.map简介1.map特性1.map头文件及构造对象1.map常用库函数二.map常用实例1.map数据插入(insert)2.map数据的遍历(打印输出)3.由key查找对应的value4.其他操作一.map简介1.map特性map是STL的一个关联容器,它的底层结构是红黑树(unordered_map的底层结构是哈希表),其处理一对一数据的效率较高;map中的所有元素都是pair,pair的第一个元素称为关键字(key),第二个称为值(value);map中所有元素(pair)都原创 2021-03-31 16:07:20 · 1725 阅读 · 0 评论 -
pair(组)干货归纳+用法示例
pair用法详解pair特点pair头文件及初始化方法pair特点当想要把两个元素绑在一起作为一个合成元素、又不想要因此定义结构体时,使用pair可以很方便地作为一个代替品。pair是单个数据对的操作,pair是一struct类型,有两个成员变量,通过first,second来访问,用的是“.”访问。map是一个关联容器,里面存放的是键值对,容器中每一元素都是pair类型,通过map的insert()方法来插入元素(pair类型)。pair头文件及初始化方法1.pair头文件#incl原创 2021-03-30 15:57:45 · 4402 阅读 · 1 评论 -
set(树)干货归纳+用法示例
set干货归纳set特点set容器基本操作set用法示例1.容器创建(5种方法)2.插入元素3.删除元素4.查找元素5.set其他操作set特点set是STL中一种标准关联容器。它底层使用弱平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_intersection),差(set_difference)并(set_union),对称差(set_symme原创 2021-03-30 15:13:57 · 621 阅读 · 0 评论 -
vector(向量)干货归纳+用法示例
vector极简总结一.头文件二.vector初始化三.操作vector对象四.访问vector的方法五.vector的重要算法一.头文件#include <vector>#include <algorithm>//由键盘输入若干个数,存入容器中 int x; vector<int> b; while (cin >> x) { b.push_back(x); }二.vector初始化(1)vector<int>原创 2021-03-29 16:55:55 · 2451 阅读 · 0 评论