C++
C++
Haber.
这个作者很懒,什么都没留下…
展开
-
重建二叉树(C++)
《剑指offer》面试题7: 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含有重复的数字。例如,输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},就可以重建出下图所示的二叉树。这里顺便介绍一下二叉树的四种遍历:1、前序遍历:若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,...原创 2020-02-16 22:48:33 · 214 阅读 · 0 评论 -
C++实现银行家算法
一、银行家算法把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源。具体要求如下:①当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。②当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申...原创 2019-12-03 17:14:32 · 3283 阅读 · 2 评论 -
单链表的基本操作3.0(C++)
接上一篇博客:单链表的基本操作2.0(C++)9、反转链表为正确反转一个链表,需要调整链表中指针的方向。如下图所示,经过若干操作,我们已经把节点 i 之前的指针调整完毕,这些节点的next都指向前一个节点。但由于节点 i 的next指向 h ,我们无法在链表中遍历到 j,所以除了要知道节点 i 本身,还需要知道 i 的前一个节点 h,同时还需要事先保存 i 的下一个节点 j 。所i以需要三个指...原创 2020-02-06 22:43:08 · 104 阅读 · 1 评论 -
单链表的基本操作2.0(C++)
接上一篇博客单链表的基本操作–建插删查(C++):https://blog.csdn.net/qq_45946755/article/details/1041631067、从尾到头反向打印链表遍历顺序从头到尾,需要输出的顺序从尾到头。即第一个遍历到达节点最后一个输出,而最后一个遍历到的节点第一个输出–“后进先出”。栈结构。而递归在本质上就是一个栈结构,故使用递归可实现。(但当链表非常长的时候...原创 2020-02-05 22:43:40 · 136 阅读 · 0 评论 -
单链表的基本操作--建插删查(C++)
一、 什么是链表链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。二、实现链表操作(一)结点结构体struct Node{ int value; //存放数据 Node* next; //指向下一个结点的地址}; (二)链表类1、定义链表类class LinkList{ private: Node* head;...原创 2020-02-03 23:05:15 · 165 阅读 · 0 评论 -
赋值运算符函数(C++)
题目:如下为类型CMyString的声明,要求为该类型添加赋值运算符函数。class CMyString{ public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(void); private: char* m_pDat...原创 2020-02-02 22:22:42 · 932 阅读 · 0 评论