- 博客(4)
- 收藏
- 关注
原创 栈(stack)简单实现,系统栈是如何保存函数调用信息的?
系统栈和栈自己实现个栈很简单,但是用栈的思想在有时候比较抽象,尤其是在使用系统栈的时候(递归)。栈的主要特点就像是你放很多大木板子在你的收纳盒里,模板放入后,每次只能取走最后放入的模板,是“先入后出”,或者“后入先出”。稍微谈一下递归:本质上来讲能用数学归纳法证明的数学问题都可以用递归解决,用栈能解决的问题也都能递归解决(废话都是栈)。递归的核心思想在于:在这一阶段,只考虑目前这一小阶段的情况,以及和前/后阶段的联系,随后考虑一个最基础的跳出条件。感觉放这里不太合适,还是以后专门说一说递归吧。系统栈如
2021-08-04 10:09:46
1513
原创 (循环)队列(Queue)简单实现
前言写dp写晕了。。。赶紧来个队列休息一下。队列是模仿现实生活当中的“排队”的。当然,电脑当中的队列可是比现实生活当中的规矩多了:没人插队,先排队进来的永远先出队。示意图如下:计算机当中是怎么实现的呢?一般定义一个head指针,一个tail指针,head指向队列的头,tail指向队列的尾,每次插入一个元素,那么就把tail指针往后一个,每次弹出一个元素,就会把head指针往后移一位。如图“删除”在计算机当中很多时候不意味着真的将其删除了,只是将指针指向别处,导致你无法访问该元素,同时将该地址标
2021-08-04 00:57:42
537
原创 数据结构:向量(vector)的简单实现
文章目录前言顺序容器(Sequence Container)Vector特点Vector的插入Vector的删除Vector扩容Vector简单实现代码前言环境默认为C++20 MSVC。今天复习一下向量vector吧。注:为了方便理解而且写起来舒服点,实现的是炒鸡*n简单的版本。(既没有迭代器也没有模板,要的就是最粗犷原始的味儿!)顺序容器(Sequence Container)常见的顺序容器有链表(Singly-Linked List/Doubly-Linked List)、向量(vecto
2021-07-30 08:07:23
694
原创 链表结构定义、操作以及经典题目
标题前言什么是链表(List/LinkedList)链表的特点单向链表的实现凡是结构操作插入删除翻转其他操作单向链表代码经典例题单向循环链表经典例题双向链表实现(Doubly-Linked List)经典例题前言复习一下数据结构和算法,今天开始把这些复习好的东西都写成blog发出来吧。也顺便可以方便其他想要学习的小伙伴。环境如果没有特殊说明,就代表用的是C++20 MSVC。默认情况下直接使用了using namespace std;(如cin, cout, endl, STL定义好的数据结构如list
2021-07-28 06:49:28
364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人