笔记
马狗
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类的静态方法
静态的内存空间是固定的,相对来说更省资源。创实例的创一个实例就要开辟一个新内存,耗费资源 静态方法属于类所有,类实例化前即可使用; 非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员; 因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存; static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类; 静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁; 静态原创 2021-07-09 17:01:05 · 2141 阅读 · 0 评论 -
队列的链式存储
队列的链式存储 队列也是一种特殊的线性表,队列相比于链表,是在链表的一端插入元素,另外一端取出元素,遵循“先进先出”的原则,与栈相反,队列的存储也用到了链表的API函数 //头文件1-链表的api函数及定义的节点 #ifndef _MYLINKLIST_H_ #define _MYLINKLIST_H_ typedef void LinkList; typedef struct _tag_LinkListNode { struct _tag_LinkListNode* next; }LinkListNo原创 2020-11-17 17:21:52 · 589 阅读 · 0 评论 -
栈的应用-括号的就近匹配
栈的应用-括号的就近匹配 代码块中,编译器通常会帮我们做符号等一些语法检查,提示在哪些地方语法错了,其中符号的就近匹配是用栈做的; 思路和代码如下: //就近匹配是对栈的应用,程序中对括号的“就近匹配”用到的就是栈的思想 //1.从第一个字符开始扫描;2.当遇见普通字符的时候忽略;3.当遇见左符号的时候压栈;4.当遇见右符号时从栈顶弹出符号,并进行匹配 // 匹配成功:继续读入下一个字符 // 匹配失败:立即停止并报错 //结束: // 成功:所有字符扫描完毕,且栈为空 // 失败:匹配失败或所有字符扫描完原创 2020-11-16 16:09:58 · 272 阅读 · 0 评论 -
链式栈的实现
链式栈的实现 栈相比于链表,它是一种特殊的数据模型,两者既有联系(通过链表的api函数可以改造出栈的api函数,这其中的原因在于两者的底层逻辑是有相似的地方的,即:通过在链表的头部操作元素,就可以模拟出栈),区别在于,链表和栈之间的对变量生命周期的管理不一样; 在实现栈的过程中,我们不可避免的用到了链表的api函数; //头文件1:栈的头文件,定义了数据类型和栈的api函数 #define _MY_LINKSTACK_H typedef void LinkStack;//把栈节点适配成链表节点,添加进链表库原创 2020-11-16 11:43:44 · 256 阅读 · 0 评论 -
C++实现链表
c++实现链表 前面已经用c语言实现了传统链表和企业链表,其实不管是用c++还是c语言,实现链表的核心思路都是一样的,根本的区别在于语法上,以及在一些变量的生命周期管理上稍有差异; //c++LinkList.h #pragma once #include<iostream> using namespace std; template <typename T> struct Node { T t;//缓存t元素 struct Node<T>* next; };原创 2020-10-06 21:00:34 · 439 阅读 · 0 评论 -
c语言实现企业链表
c语言实现企业链表 我们最早学习的线性表分为顺序表和链表,顺序表即用数组来模拟链表,他的内存是连续的;缺点在于事先要知道大小,但是实际生活中我们并不能实现准确的预知对象有多大,需要多少内存。因此就诞生了链式存储的顺序表,即链表;链表也是分为三种,传统链表、内核链表,和企业链表。那么这三种链表分别有什么特点呢? (1)传统链表:传统链表区别于数组模拟的线性表,可以不用管到底需要多大的内存,比较方便。第二个特点是他的内存不是连续的,每个结点包含一个数据域和指针域。每个节点的指针域保存的是下一个节点的地址。他的缺原创 2020-10-05 19:50:35 · 384 阅读 · 1 评论 -
2020-09-23
第一篇博客 从今儿开始就在这里记录自己的学习过程啦,加油啊,坚持原创 2020-09-23 16:26:14 · 74 阅读 · 0 评论
分享