C++
文章平均质量分 57
Wang__Peter
C、C++语言,数据结构伪语言,研究VS2013编译器对语法的处理方式,7月开始转型做产品,希望可以跟大家一起讨论,一起成长
展开
-
C++语言:单链表的增删查改,数据结构
链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。以“结点的序列”表示线性表称作线性链表(单链表)单链表是链式存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素。因此,查找第 i 个数据元素的基本操作为:移动指针,比较 j 和 i单链表原创 2016-12-10 14:27:09 · 1100 阅读 · 0 评论 -
C++:1.设计一个类不能被继承 2.设计一个类只能在堆上创建对象。 3.设计一个类只能在栈上创建对象。
C++作为第一代面向对象语言,在设计时,并没有像java那样设计出final class,但是经常会有人问到,如何用C++实现一个最终类,其实说句真心话,我也挺烦这种问题的,实用性又不强,何必如此钻牛角尖呢?但是这个问题,又可以很好的考验你对C++继承这里知识点的掌握情况,不是嘛。 那么我们现在讨论一下:C++如何设计一个最终类——不可被继承C++中继承分为三种方式:public、private、原创 2017-07-17 10:59:28 · 450 阅读 · 0 评论 -
数据结构:二叉搜索树
二叉搜索树 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。代码实现增删查#pragma once#include<iostream>#include原创 2017-04-04 09:57:29 · 402 阅读 · 0 评论 -
数据结构:二叉树,二叉树的前中后序、层序遍历(递归法,非递归法),得到一个数叶子节点的个数……
二叉数的构建与遍历,递归法前中后序遍历二叉树,非递归法遍历二叉树,一颗二叉树有几个叶子节点,一个二叉树每一层有多少节点,二叉树有多少个节点原创 2017-03-26 20:17:18 · 1201 阅读 · 1 评论 -
数据结构:堆
借助vector来模拟堆的空间堆:堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]或者Key[i]>=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。原创 2017-03-29 12:52:38 · 295 阅读 · 0 评论 -
C++:C++方法(函数)传参,传值,传址,传引用的之间的区别,什么时候用那个好一点
C++中函数传参:1).按值传递(pass by value) value 2).地址传递(pass by pointer) *value 3).引用传递(pass by reference) &value原创 2017-03-28 17:48:25 · 2408 阅读 · 0 评论 -
数据结构:二叉树线索化
二叉树线索化:二叉树前序线索化,二叉树中序线索化,二叉树后续线索化,二叉树前序线索化遍历,二叉树中序线索化遍历,二叉树后续线索化遍历,析构,迭代器遍历线索化后的二叉树原创 2017-03-28 17:12:20 · 1449 阅读 · 1 评论 -
C++:在成员函数后面放const的作用
在成员函数后面加const,const修饰this指针所指向的对象,也就是保证调用这个const成员函数的对象在函数内不会被改变。Like This:#include<iostream>using namespace std;class Date{public: Date(int year,int month,int day) :_year(year) ,原创 2017-02-27 16:26:32 · 637 阅读 · 0 评论 -
C++:为什么C++里建议用const/枚举/内联去替代宏?
什么是宏?计算机科学里的宏(Macro),是一种批量批处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。什么是const?CONST是一个C、C++语言的关键字,它限定一个变量不允许被改变。使用CONST在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码原创 2017-02-28 19:59:29 · 553 阅读 · 0 评论 -
复杂链表复制
在链表中,有一类链表叫做复杂链表,复杂链表的每个节点有两个指针,一个指向下一个节点,一个指向随机节点,可以指向NULL,也可以指向已经存在的链表节点,可以指向本节点之前的节点,也可以指向之后的节点。 节点的结构声明如下:typedef int DataType;类型名重定义,也可以使用templatetypedef struct ComplexNode{ DataType _data; //原创 2017-07-18 17:28:23 · 307 阅读 · 0 评论