
数据结构
GoingJack
怕什么真理无穷,进一寸有一寸欢喜。
展开
-
数据结构关于线性表_定长 Linux C语言
文件 seqlist.h #ifndef __SEQLIST_H #define __SEQLIST_H #include <stdbool.h> typedef int ElemType; #define LENGTH 10 typedef struct SeqList { ElemType data[LENGTH]; int count; }SeqList...原创 2019-06-17 16:46:18 · 137 阅读 · 0 评论 -
数据结构关于线性表_不定长 Linux C语言
https://github.com/GoingJack/Data-Structure/tree/master/ke02_AlterList/AlterList原创 2019-06-22 12:25:36 · 152 阅读 · 0 评论 -
【C++重载new和delete运算符实现一个对象池】
使用对象池的原因 类似于SGI的二级空间配置器,但是对象池的实现比二级空间配置器实现的原理简单了很多。想了解二级空间配置器可以查看博主的另外一篇文章https://blog.youkuaiyun.com/qq_42418668/article/details/94740594 当我们需要,多次使用new和delete操作向系统申请和释放堆空间会使得我们的程序进程的开销变得非常的大而且效率也非常...原创 2019-07-08 18:46:12 · 419 阅读 · 0 评论 -
【SGI二级空间配置器】
开发环境 Windows 10 专业版 开发工具 Microsoft Visual Studio Community 2017版本15.9.12 参考书籍 《STL 源码剖析》 分析 SGI STL包含了一级空间配置器和二级空间配置器,其中一级空间配置器allocator采用malloc和free来 管理内存,和C++标准库中提供的默认allocator是一样的;而二级空间配置器a...原创 2019-07-05 16:47:58 · 300 阅读 · 0 评论 -
C++ 使用俩个队列实现一个栈&&使用俩个栈实现一个队列
俩个栈实现一个队列 如图所示我们有俩个栈A和B 我们首先把1,2,3依次入栈之后,如果此时我们需要"出队"我们的做法是把A栈中的元素依次出栈后放入栈B。 然后我们把B的栈顶元素弹出即可以达到队列的先进先出的特点 把栈A中元素弹出放到栈B中 把栈B中的栈顶元素弹出 此时我们再向栈中添加元素时还是向栈A加入元素 只要栈B不为空,我们便一直在栈B中弹出元素 一旦...原创 2019-07-01 00:09:50 · 382 阅读 · 0 评论 -
关于二叉树的前中后序遍历的非递归写法
#include<stack> #include<iostream> using namespace std; struct TreeNode { int val; TreeNode *lchild; TreeNode *rchild; }; void perOrder(TreeNode &root) { stack<TreeNode *> s...原创 2019-08-21 22:49:36 · 216 阅读 · 0 评论