自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 C++ 选择排序、冒泡排序、插入排序

插入排序:工作原理是通过构建有序序列,对于未排序序列,在已排序序列中从后往前扫描,找到对应位置插入,从而使得有序。3 如果该元素小于已排序部分的最后一个部分,则将其插入到已排序部分的适当位置,重复 2和3直到完成排序。冒泡排序的算法优点:是一种稳定的算法,不会改变相同元素的相对位置,缺点便是效率低下,时间复杂度较高。冒泡排序:是一种简单的排序算法,通过多次比较和交换相邻的元素,将数组中的元素按升序或降序排列。这种算法的优点是时间复杂度高,并且会改变相同元素的相对位置,因此这个是一种不稳定的排序算法。

2025-07-08 21:23:26 160

原创 C++ 二分查找、线性枚举、模拟

第一点:数据结构,对于模拟题而言,最关键的其实是数据结构,看到一个问题,选择合适的数据结构,然后根据问题实现对应的功能。F(n) = F(n-1) + F(n-2) ,其中n > 1,给定n(0<=n<=30),请计算F(n)第二点:算法技巧,模拟时一般会用到一些算法技巧,或者说混合算法,比如排序,递归,迭代等等。且在 n > 2的情况下,T(n) = T(n-1) + T(n-2) + T(n-3)线性枚举,对应力扣,有序数组中的单一元素,代码见下。模拟题二:对应力扣,位1的个数,代码见下。

2025-07-03 23:11:28 276

原创 C++ unordered_map基础概念、对象创建、赋值操作、大小操作、数据插入、数据删除、数据修改、代码练习 1 2

unordered_map<type1, type2> 无序映射,是按第一个哈希键来进行检索的。散列容器:unordered_set、unordered_map。unordered_map 赋值操作,代码见下。unordered_map 大小操作,代码见下。unordered_map 数据插入,代码见下。unordered_map 数据查找,代码见下。unordered_map 数据删除,代码见下。unordered_map 数据修改,代码见下。unordered_map 数据统计,代码见下。

2025-06-22 18:13:50 179

原创 C++ unordered_set基础概念、对象创建、赋值操作、数据插入、数据删除、代码练习 1 2

哈希冲突解决方案:常见的解决方案,是在一个桶中放多个元素,这样就可以通过哈希算法快速找到桶,再通过遍历桶中所有元素,来实现快速查找。在STL中,数据不是存在一个bucket桶中,而是利用了(bucket<<1)和(bucket<<1 )+ 1 两个位置,并且把所有桶中元素串联成一个链表,它里面的元素,是从(bucket<<1)的位置作为链表的起点,(bucket<<1 )+ 1的位置作为链表终点,来存储哈希表中所有桶ID为bucket的节点。桶:下标索引又叫桶ID,桶ID是用来索引到某个具体位置的桶。

2025-06-21 18:07:41 431

原创 C++ map代码练习 1、2、priority_queue基础概念、对象创建、数据插入、获取堆顶、出队操作、大小操作,自定义结构、代码练习 1 2

3,元素删除:把数组的第0个元素和最后有一个元素交换、然后对栈顶的元素不断做“下沉”操作,选择大的进行交换,直到“自己”成为最大的、删除数组的最后一个元素。1,元素插入:往数组尾部插入一个元素、对插入的元素,比较他(在树形结构中)和他父节点的大小关系,来决定是否和父节点进行交换。大顶堆:满足堆的概念(比所有子节点大),并且他的子节点也满足堆的概念(比所有子节点大)小顶堆:满足堆的概念(比所有子节点小),并且他的子节点呀满足堆的概念(比所有子节点小)map代码练习1,对应力扣 两个数据的交集,代码见下。

2025-06-17 21:22:20 252

原创 C++ map基础概念、map对象创建、map赋值操作、map大小操作、map数据插入、map数据删除、map数据修改、map数据统计

2 pair中的第一个元素都是key(键),第二个元素是value(值)2 pair中的第一个元素都是key(键),第二个元素是value(值)树形容器:set、multiset、map、multimap。1 容器中所有元素都是pair,first可以重复。1 容器中所有元素都是pair,first不重复。map对象创建,有常用的几种方式,见以下代码。3 所有元素都会根据元素的key值排序。map赋值操作,代码见下。map大小操作,代码见下。map数据删除,代码见下。map插入,代码见下。

2025-06-08 18:11:27 280

原创 C++ set数据插入、set数据查找、set数据删除、set数据统计、set排序规则、代码练习1、2

set数据插入,代码见下。元素:0的出现次数为:0。元素:1的出现次数为:0。元素:2的出现次数为:0。元素:3的出现次数为:1。元素:4的出现次数为:1。元素:5的出现次数为:1。元素:6的出现次数为:0。元素:7的出现次数为:1。元素:0的出现次数为:0。元素:1的出现次数为:3。元素:2的出现次数为:2。元素:3的出现次数为:1。元素:4的出现次数为:0。元素:5的出现次数为:0。元素:6的出现次数为:0。

2025-06-03 23:10:16 313

原创 C++ list代码练习、set基础概念、set对象创建、set大小操作

还有另外一种mutiset:容器内的元素可以重复、每插入一个元素,容器内的元素都会进行有序排序。容器特点:线性容器(vector、string、list),树形容器(set、multiset)有序集合set的特点:容器内的元素不重复、每插入一个元素,容器内的元素都会进行有序排列。对应力扣,回文链表,代码见下。list大小操作,代码见下。set对象创建,代码见下。set赋值操作,代码见下。

2025-06-02 17:32:07 303

原创 C++ list数据删除、list数据访问、list反转链表、list数据排序

list反转列表,代码见下,直接找的内部源码。list数据删除,代码见下。list数据访问,代码见下。list数据排序,代码见下。

2025-05-31 21:51:18 557

原创 C++ list基础概念、list初始化、list赋值操作、list大小操作、list数据插入

list基础概念:list中的每一部分是一个Node,由三部分组成:val、next、prev(指向上一个节点的指针)list初始化的代码,见下。list赋值操作,代码见下。list大小操作,代码见下。运行结果见下,便于理解。

2025-05-26 23:34:41 346

原创 C++ queue对象创建、queue赋值操作、queue入队、出队、获得队首、获得队尾操作、queue大小操作、代码练习

图中赋值的时间复杂度为n,代码见下,是进行了for循环,然后达到了n的复杂度。queue赋值操作,代码见下。queue相关操作,代码见下。queue大小操作,代码见下。

2025-05-25 17:22:38 272

原创 C++ stack大小操作、stack容器替换、代码练习

stack的大小操作,共有两个接口,代码见下。stack容器替换,代码见下。对应力扣,七进制数,代码见下。

2025-05-22 23:38:49 177

原创 C++ stack对象创建、入栈、获取栈顶

stack对象创建直接调用C++对应的<stack>,进行创建。入栈操作有一条指令,见下。

2025-05-21 23:39:17 321

原创 C++ deque随机访问、代码练习

代码三,对应力扣,设计浏览器历史记录,代码见下。代码练习,对应力扣设计双端队列,代码见下。

2025-05-21 22:01:23 180

原创 C++ deque大小操作、deque数据插入、deque数据删除

deque数据插入,有以下几种形式,见代码。deque大小操作,代码见下。以下是输出结果,可辅助理解。

2025-05-18 16:20:56 218

原创 C++ deque双端队列、deque对象创建、deque赋值操作

deque如果同时进行头插和尾插的话,他的时间复杂度是o(1),如果是vector的话,时间复杂度是o(n),需要视情况进行选择进行插入。如果是只有一个单向插法的话,用vector就可以。如果是两种插入的方式的话,用deque就合适。在deque中,front()是头部元素,back()指的是尾部元素。begin()是指向头部的迭代器,end()是指向尾部的下一个元素的迭代器。push_front 头部进行插入。pop_front 尾部进行删除。pop_back 尾部进行删除。

2025-05-17 23:35:26 288

原创 C++ string数据查找、string数据替换、string子串获取

【代码】C++ string数据查找、string数据替换、string子串获取。

2025-05-13 23:32:40 320

原创 C++ string比较、string随机访问、string字符插入、string数据删除

string的字符串进行比较,代码见下。string随机访问,代码见下。

2025-05-12 23:30:55 240

原创 C++ string初始化、string赋值操作、string拼接操作

以下介绍了string的六种定义方式,还有很多,这个只是简单举例。以下是string的六种赋值操作,以下是代码。string拼接操作,代码见下。

2025-05-11 23:00:08 472

原创 C++ STL编程 vector空间预留、vector高效删除、vector数据排序、vector代码练习

vector的高效删除,对应的代码见下,一个时间复杂度是n,一个时间复杂度是1。vector空间预留,作用是避免申请每次申请内存,提高运行效率。对应的接口是 vector.reverse()代码练习,对应力扣,数组串联,代码见下。

2025-05-11 17:32:46 265

原创 C++ STL编程 vector的插入、删除、扩容机制、随机访问和内存交换

vector有两种插入方式,见以下代码。vector有三种删除方式,代码见下。

2025-04-28 23:30:15 229

原创 C++ STL编程-vector概念、对象创建

在vector中,front()是数组中的第一个元素,back()是数组的最后一个元素。begin()是是指向第一个元素,end()是指向back()的后一个元素。vector 概念:是常见的一种容器,被称为“柔性数组”。vector的对象创建,代码见下。vector的赋值操作,代码见下。

2025-04-18 23:32:02 417

原创 C++ 蓝桥云课代码练习

【代码】C++ 蓝桥云课代码练习。

2025-04-16 22:58:22 436

原创 C++ 蓝桥云课代码练习

代码二,对应蓝桥云课,小明的彩灯,代码见下。代码三,对应蓝桥云课 走迷宫,代码见下。代码一 ,小明的背包1,代码见下。

2025-04-09 23:35:40 309

原创 C++ 哈希表代码练习

代码二,对应力扣,查询数组中元素的出现位置,代码见下。

2025-03-29 19:56:01 181

原创 C++ 哈希表代码练习

代码三,对应力扣,最大字符串配对数目,代码见下。代码四,两个字符串的排列差,代码见下。代码二,人口最多的年份,代码见下。

2025-03-27 22:57:58 199

原创 C++ 哈希表代码练习

代码三,对应力扣,独一无二的出现次数,代码见下。代码二,对应力扣,好数对的数据,代码见下。

2025-03-24 22:59:25 117

原创 C++ 哈希表代码练习

代码2,对应力扣,缺失的第一个正数,代码见下。

2025-03-23 22:49:42 201

原创 C++ 哈希计数器

【代码】C++ 哈希计数器。

2025-03-23 16:43:24 152

原创 C++ 邻接矩阵代码练习

代码一,对应力扣 判断二分图,代码见下。

2025-03-22 23:25:57 147

原创 C++邻接矩阵代码练习、邻接表代码

代码二,对应力扣,传递信息,代码见下。对应力扣,判断二分图,代码见下。

2025-03-18 23:05:01 219

原创 C++ 邻接矩阵(代码)

代码一,对应力扣,传递信息,代码见下。

2025-03-13 22:35:09 299

原创 C++ 二叉搜索树代码练习

代码一,对应力扣,前序遍历构造二叉搜索树,代码见下。代码二,对应力扣,二叉搜索树中的插入节点,代码见下。

2025-03-12 22:56:48 124

原创 C++ 二叉搜索树代码

代码二,对应力扣,删除二叉搜索树中的节点,代码见下。代码一,对应力扣恢复二叉搜索树,代码见下。

2025-03-11 23:44:00 271

原创 C++ 二叉搜索树代码

代码二 两数之和IV 输入二叉搜索树,对应力扣,代码见下。代码三,对应力扣,二叉搜索树中的众数,代码见下。代码一,对应力扣 递增顺序二叉树,代码见下。

2025-03-10 22:59:48 201

原创 C++二叉搜索树代码

代码二,对应力扣 二叉搜索树的范围和,代码见下。代码一,对应力扣二叉搜索树中的检索,代码见下。代码四,对应力扣 验证二叉搜索树,代码见下。

2025-03-07 23:03:07 318

原创 C++ 二叉搜索树代码

C++ 二叉搜索树代码。

2025-03-06 22:58:43 708

原创 C++ 二叉树代码练习

代码二,对应力扣,找出克隆二叉树中相同节点,代码见下。代码一,对应力扣,从根到叶的二进制之和,代码见下。代码三,对应力扣,层数最深叶子节点的和,代码见下。代码四,对应力扣,最大二叉树,代码见下。

2025-03-04 22:41:50 173

原创 C++ 二叉树代码

代码四,对应力扣 二叉树的前序遍历,代码见下。代码五,对应力扣,二叉树的中序遍历,代码见下。二叉树代码,对应力扣,完全二叉树的节点个数。代码练习,对应力扣单值二叉树,代码见下。代码,对应力扣,翻转二叉树,代码见下。代码六,对应力扣,二叉树的后续遍历。

2025-03-02 20:45:41 662

原创 C++ 树代码练习

代码三,对应力扣,计算布尔二叉树的值,代码见下。代码一,对应力扣,二叉树的最大深度,代码见下。

2025-02-28 23:01:40 130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除