自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 堆 (heap)和 栈 (Stack)在 C++中的区别

堆 heap 和 栈 Stack在 C++中的区别文中所有的例子和内容均来自于如下视频讲解:https://www.youtube.com/watch?v=wJ1L2nSIV1s&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=54堆(heap)和栈 (stack) 是 RAM(Random Access Memory) 中的两块内...

2019-06-05 16:06:34 467

原创 跳表 (Skip List) C++ 实现

跳表 (Skip List) C++ 实现跳表原理跳表 c++ 实现SkipNodeSkipList随机层数结点最大层数基本操作打印主函数输出结果在学习 C++ 中的过程中,找个算法作为练习。仅供参考。跳表原理跳表原理讲解请参考 https://lotabout.me/2018/skip-list/为了节约时间,这里只是简单说明,原文如上。跳表(skip list) 对标的是平衡树(A...

2019-06-04 11:35:45 6316 3

原创 C++ const 关键字用法

C++ Constconst 关键字其实相当于你给一个承诺给编辑器,承诺你将不会改变这个变量的值。但实际上这只是一个承诺,在一些情况下,这个承诺也可以被打破。用法很简单,仅仅是在定义的前面加上 const 关键字,然后该变量则不再允许被改变。int main(){ const int a = 5; a = 2;}Error (active) E0137 expression mu...

2019-05-06 16:03:37 350

原创 GDB c++ 调试

GDB c++ 调试程序编译1. 安装gcc (CentOS):2. 编译GDB debug1. 安装 gdb2. 进入调试环境3. 基本操作4. 设置断点程序编译首先,在debug之前要对程序进行编译,可以用 gcc 进行编译。检查是否安装 gcc:rpm -qa | grep gcc若没有gcc, 请先安装。1. 安装gcc (CentOS):yum -y install gc...

2019-04-30 16:46:52 1121

原创 C++ string 字符串

一个 String 字符串, 实际上是一个 包含一些列 char 类型变量的数组。#include <iostream>int main(){ const char* name = "Peter"; std::cin.get();}声明一个 char* 类型的指针,并给其赋值。在内存中,我们可以看到,内存中存的是 Peter 的 ASCII 码。 而紧随着 Peter...

2019-04-29 12:03:59 345

原创 C++ Array 数组

C++ Array数组,是一个包含了一些列变量的变量,可以视为一个集合。例如:int main(){ int example[5]; example[0] = 2;}定义一个包含五个整型变量的数组 example, 即在内存空间中开辟 20 bytes (int 为 4 bytes)的空间给这个数组。数组内变量编号从0开始。[index] 可用于访问其中的变量。#includ...

2019-04-28 17:20:01 4804

原创 C++ private 和 protected类型的区别

用例子说明:class Entity{public: Entity() { X = 0; }private: int X, Y;};class Player: public Entity{public: Player() { }private:};int main(){ Entity e; std::cin.get();}如上,En...

2019-04-28 15:47:34 2549 1

原创 C++ Pure Virtual Function 纯虚函数

C++ Virtual Function纯虚函数是虚函数的特例。抽象函数和接口都是纯虚函数。纯虚函数允许我们在基类里定义一个方法,该方法没有任何的实现,而继承该基类的子类则会具体实现这个方法。对比于虚函数而言,虚函数在基类中也拥有实现过程,如果子类并没有重写该方法,则依然可以调用基类的方法。而纯虚函数由于基类方法并没有实现过程,所以子类必须要重写该方法并为其添加具体的实现过程。接口类仅仅...

2019-04-28 10:30:59 739

原创 C++ Virtual Function 虚函数

C++ Virtual Function 虚函数虚函数允许我们重写(override)子类中的方法。如果我们有两个类 A 和 B, 其中 B 是 A 的子类。如果我们在 A 中创建一个方法,并将其标记为 virtual, 则我们可以在 B 中重写该方法来让它完成一些别的操作。举例说明:#include <iostream>#include <string>cl...

2019-04-26 15:02:42 270

原创 C++ Inheritance 继承

C++ Inheritance 继承继承是面向对象编程语言中非常重要的一个特性,也是一个非常有用的结构。继承可以允许类之间存在层级结构。简单一点说,继承允许我们有一个基类,该基类包含了一些公共的方法,然后允许我们创建一些子类基于这个基类,并且子类中能够包含这些公共的方法,不用再重新定义。这种结构能够很大程度上避免重复的代码。例如:#include <iostream>clas...

2019-04-26 10:40:00 158

原创 C++ 引用 (Reference)

C++ Reference引用实际上是指针的一个扩展,但是又不同于指针。首先,引用必须引用一个已经存在的变量。不像指针,指针可以被声明为空指针,但引用不可以。引用本身并不是一个新的变量,它并不实际占用内存空间,也并不实际储存数据,它仅仅是一个变量的引用。举例说明:#include <iostream>#define LOG(x) std::cout << x &...

2019-04-25 17:16:56 6530

原创 C++ 中 Static 关键字的作用

C++ 中 Static 关键字的作用Static 用在类或者结构体的外部Static 用在类或者结构体的内部Static 作用于局部(Local)Static 能够被用在一个类或者结构体的内部或者外部。如果用在外部的话,意味着被你声明成 static 的变量只能作用于该定义的 Translation Unit.如果用在内部的话,则意味着该 static 变量将会共享该类所有实例的内存空间。...

2019-04-25 16:12:29 487

原创 Leetcode 前五题 python

最近开始刷题,在此记录一下。Two number (Easy)给定一个整数数组和一个目标值,该目标值是数组中两个数的和,输出这两个数的标号。注:每个数只能被用一次。例如:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].最直观最暴力的解法就是两重循环...

2019-03-28 17:38:53 105

原创 python实现链表

用python实现链表链接倒置 (Reverse Link List)链接倒置 (Reverse Link List)采用循环的方式来反向遍历链接,即指针 cur 和 pre 分别指向链表的当前结点以及其前一个结点,然后每次都让 cur.next 指向 pre, 即可得到反向遍历的结果。python 实现如下:## Define Link listclass ListNode: d...

2019-03-19 16:29:04 298

原创 函数的递归调用

递归是栈的一个非常重要的应用。栈是一个基本的存储数据的结构,其特点是 Last in first out (LIFO)。即该数据结构只有一个出口,进出数据都走同一端,而先进去的数据压在底部,所以往外拿数据的时候后进的数据反而先出。可以想象为一个桶,哈哈。而什么是递归了,简单点说,就是一个直接或者间接不断调用自己函数。但递归函数必须设定一个条件能够使得该递归调用停止。递归的好处是代码非常简洁清...

2019-02-19 13:55:17 143

转载 常见的数据结构操作以及排序算法的时间复杂度汇总

常见数据结构操作时间复杂度汇总排序算法时间复杂度汇总

2019-02-19 11:03:50 865

原创 算法复杂度

算法复杂度函数的渐进增长算法的复杂度是用来衡量一个算法好坏的重要指标,其中包含时间复杂度(Time Complexity), 以及空间复杂度(Space Complexity)。我们一般说算法的复杂度指的都是算法的时间复杂度。当然有时候,时间复杂度也是可以靠消耗更多的空间来减少的。在介绍算法的复杂度之前,先介绍一个概念:函数的渐进增长。函数的渐进增长假设有两个函数 A 和 B,它们的输入规...

2019-02-19 10:51:43 320

原创 经典排序算法

经典排序算法内排序算法的性能冒泡排序 (Bubble Sort)功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入最近在...

2019-02-13 18:02:16 112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除