自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 在MAC中,如何查看自己的电脑安装了git

2019-04-16 17:28:33 2051 0

原创 C++三大特性--多态

多态的概念 多态的分类 C++中多态的实现原理 一、多态的概念 在说多态之前,我们来先看一看对象的类型 来看一个例子: 多态:意思既是同一个事物的多种形态,用我们C++的专业词语来说就是:一个借口、多种实现方式。 二、多态分类 静态多态: 静态多态:编译器在编译...

2018-08-28 17:24:09 607 0

原创 C++设计一个类:只能在堆上创建对象、只能在栈上创建对象、只能创建一个对象

在C++中,创建类的对象有两种方法,一种是静态建立,A a; 另一种是动态建立,调用new 操作符。 一、只能在堆上创建对象 就是动态建立类的对象,使用new操作符来完成。 做法一:将该类的构造函数和析构函数权限设为protected,(可以让该类可以被继承),然后定义两个static 函...

2018-08-23 13:25:44 906 0

原创 剑指offer--找出字符串中第一个只出现一次的字符(题面已经更新)C++

题目描述: 找出字符串中第一个只出现一次的字符 输入描述: 输入一个非空字符串 输出描述: 输出第一个只出现一次的字符,如果不存在输出-1 示例1 输入 asdfasdfo 输出 ö 代码实现如下: #include<iostream> #includ...

2018-08-23 08:17:39 1275 0

原创 C++类的六个默认成员函数

先来定义一个类 class A { }; 经过编译器处理之后,类A不在为空,它会自动的生成六个默认的成员函数,即使这六个成员函数什么也不做。(这些成员函数当我们没有定义时,编译器会显示的调用)处理之后相当于: class A { public: A();//构造函数 ...

2018-08-22 19:30:11 1146 0

原创 C++三大特性--封装

封装的概念:class+访问限定符 类的作用域:与函数重载结合 类的实例化:类–>实例化–>对象 对象模型:三个问题 this指针:特性 编译器如何来识别一个类 我们都知道C++有三大特性:封装、继承、多态,之前我总结过继承的知识点,现在来总...

2018-08-22 13:13:57 3277 0

原创 自动化测试的详细介绍

关于自动化测试的概念介绍,我将从以下十个点来介绍! 1.什么是自动化测试 2.常见测自动化测试工具 3.自动化工具和自动化框架的区别 4.自动化测试的适用对象 5.自动化测试方法 6.UI自动化 7.接口自动化 8.如何实施自动化 9.自动化测试的优势 10.自动化实施失败的原...

2018-08-20 14:21:31 3384 0

原创 LeetCode--Recover Binary Search Tree(C++)

题目描述: Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note: A solution using...

2018-08-19 20:55:09 106 0

原创 LeetCode--Validate Binary Search Tree(验证二叉搜索树)C++

题目描述:Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as follows: The left subtree of a node conta...

2018-08-19 19:36:23 169 0

原创 C++中的命名空间&&输入输出

一、命名空间 1.引入 在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突, 使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,Namespace关键字的出现就是针对这种问题的。 2.定义 (1)命名空间的定...

2018-08-19 17:30:55 203 0

原创 C++中指针和引用的区别&&传值、传址、传引用的区别,哪一种高效?

一、概念 指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元。 引用:引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。 举个例子: int a=10; //指针,定义了一个整型变量a和指针变量p,该指针变量指向a的存储单元,即p的值是a存储...

2018-08-19 16:23:46 787 0

原创 C语言和C++的区别与联系(详细)

面向过程和面向对象语言的区别 文件区别:关键字、后缀、返回值、参数列表 重载 C/C++函数调用约定与函数名称修饰规则 在学习了C语言和C++之后,这两者之间的区别我们需要仔细的捋一捋! 一、面向过程语言和面向对象语言 我们都知道C语言是面向过程语言,而C++是面向对象语言,说C和...

2018-08-19 10:47:32 22256 8

原创 LeetCode--same tree(C++)

题目描述:Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally iden...

2018-08-18 11:10:49 93 0

原创 LeetCode--construct binary tree from inorder and postorder-traversal(根据中序和后序遍历重建二叉树)C++

题目描述:Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree. 思路...

2018-08-18 11:00:19 206 0

原创 LeetCode--Minimum Depth of Binary Tree(C++)

题目描述: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the ...

2018-08-16 21:19:19 81 0

原创 LeetCode-- Binary Tree Postorder Traversal(C++)

Given a binary tree, return the Postorder traversal of its nodes’ values. For example: Given binary tree {1,#,2,3}, 1 \ 2 / 3 return [3...

2018-08-16 17:54:04 143 1

原创 数组和指针的区别与联系(详细)

指针和数组的区别: 1.概念: 2.存储方式、初始化(指针数组、数组指针)、存储内容(求sizeof) 3.赋值 6.传参(函数指针、函数指针数组、函数指针数组的指针、野指针) 一、概念 数组:数组是用于储存多个相同类型数据的集合。 指针:指针相当于一个变量,但是它和不同变量不一样,...

2018-08-16 14:45:43 27617 8

原创 LeetCode--Binary Tree Preorder Traversal(C++)

题目描述: Given a binary tree, return the preorder traversal of its nodes’ values. For example: Given binary tree {1,#,2,3}, 1 \ 2 / ...

2018-08-14 21:58:32 233 0

原创 C语言模拟实现strlen、strcpy、strcat、strstr、strcmp、memcpy、memmove

一、strlen函数 1.函数介绍 strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0’)。 之前我在博客中写过关于数组运算中st...

2018-08-14 20:34:18 115 0

原创 剑指offer--对称的二叉树(C++)

题目描述:请实现一个二叉树,判断一颗二叉树是否是对称的。注意,一颗二叉树和它的镜像完全相同,则称为对称二叉树。 思路分析:要想成为一个对称二叉树,要满足两点:二叉树在结构上必须对称,对称结构的对称位置数据的值相同。本题我们可以使用递归,判断一颗二叉树是否为对称二叉树。 代码实现: /* ...

2018-08-14 10:21:35 519 3

原创 浅谈:C/C++中的关键字--static

关键字static在C/C++中应用广泛,其主要有三个作用: (1)修饰变量 (2)修饰函数 (3)修饰数据成员/成员函数 其中前两个是面向过程语言中static的应用,即C语言,后一种是面向对象语言中static的应用,即C++。下面我们一起来学习学习吧! 一、修饰变量 变量可以...

2018-08-13 17:27:59 109 0

原创 C/C++程序内存的分配

一、一个C/C++编译的程序占用内存分为以下几个部分: 栈区(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。 堆区(heap):一般由程序员自动分配,如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链...

2018-08-13 12:43:57 9375 3

原创 C语言有关数组的运算

在开始之前,我们先来复习一下基础知识: sizeof是一个单目运算符,计算数据类型或变量长度(包括‘\0’); strlen(地址),以’\0’为结束标志计算字符串长度的函数(不包括’\0’); &+数组名,数组名表示整个数组,这里取出的是整个数组的地址 ; sizeof(数组...

2018-08-11 19:03:01 3843 1

原创 平衡二叉树:输入一颗二叉树,判断该二叉树是否是平衡二叉树?(C++)

题目描述:输入一颗二叉树,判断该二叉树是否是平衡二叉树? 思路分析:平衡二叉树是指它的左右子树深度相差小于等于1。因此我们需要先求出该二叉树树左右子树的深度,然后看他们的差是否小于等于1 代码实现: class Solution { public: bool IsBalance...

2018-08-11 11:02:41 332 0

原创 剑指offer-二叉搜索树的后序遍历序列(C++)

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路分析:我们首先要知道二叉搜索树的性质(即就是:二叉树搜索树它的左子树都比根节点小,右子树都比根节点大,并且二叉搜索树的中序遍历是有序的)。...

2018-08-11 10:29:22 343 0

原创 剑指offer--二叉树的镜像、二叉树的深度

最近,我会将自己写的看到的并且弄懂的题写进我的博客中,下面我们就一起来看看吧! 一、二叉树的镜像 题目描述:题目:给定二叉树,将其变换为源二叉树的镜像。 题目:给定二叉树,将其变换为源二叉树的镜像。 二叉树的定义如下: struct TreeNode { int val; Tr...

2018-08-09 19:37:36 126 1

原创 如何测试一个公交卡?(详细)

编写测试用例也是很有讲究的,我们不仅要想到很多方面,并且对每一方面详细的描述出来。

2018-08-08 21:04:19 1403 0

原创 剑指offer--把二叉树打印成多行(C++)

题目描述:从上到下按层打印二叉树,同一层节点从左往右输出,每一层输出一行。 问题分析:这个问题就是二叉树的层序遍历,之前我的博客中曾写到过“锯齿型层序打印二叉树”,和本体思路基本一样,并且本题相对那个题较简单一些,我将那篇博客的连接放在这里:https://blog.csdn.net/cherr...

2018-08-08 20:34:39 177 1

原创 LeetCode--LeetCode:Remove Nth Node From End of List(C++)

题目描述:Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3-&...

2018-08-08 09:22:16 55 0

原创 LeetCode--add-two-numbers(反序链表求和)C++

题目描述:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a s...

2018-08-07 20:54:57 82 0

原创 LeetCode--convert-sorted-list-to-binary-search-tree(C++)

题目描述:Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. 思路分析:由于给出的单链表是已经排序好的,本题我们只需要找到中间...

2018-08-07 10:55:39 60 0

原创 LeetCode--partition-list(C++)

题目描述: Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. You should pres...

2018-08-07 10:17:10 229 1

原创 printf函数你不知道的那点事!

在平时的编程中,我们经常使用printf函数进行输出,可以说printf函数真的和我们很熟悉了,但是printf函数也有很多神奇的地方,不知道你知道吗? 下面我们一起来看看吧! 一、函数基本介绍 printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出...

2018-08-05 11:28:03 991 1

原创 剑指offer--二叉搜索树与双向链表

题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解题思路:按照本题的意思,我们能想到的就是根据二叉树的中序遍历,因为中序遍历是:左子树–>跟–>右子树,由于二叉搜索树它的根节点大于左子树,...

2018-08-04 19:31:32 80 0

原创 浅谈:C/C++中for( ; ; )和while(1)的区别

有两种写死循环的方式,即:for(; ;)和while(1),但是这两种哪个效率高呢?其实也说不准,今天我来和大家简单说一下吧! 首先要说明的是两者之间的效率高低最重要的还是取决于编译器是否有优化! 当编译器对程序不做优化时,两者的效率高低都差不多,编写时看个人喜好和习惯吧! 当编译器对程序...

2018-08-04 14:56:21 2344 0

原创 C语言有多少关键字?

当被问到C语言中有多少关键字时,很多老铁,都会说32个,但是,其实你说说的不对,因为没有加前提! C语言的32个关键字:(C99版本中,记住要说前提哦,很重要的!!!) 1.存储类型关键字(4个) auto:自动存储 static:静态存储 register:寄存器存储 extern:...

2018-08-04 14:17:52 2133 0

原创 用C/C++测试编译器中关键字占多少个字节?

用C语言测试自己编译器所占字节的大小,代码实现如下: #include<stdio.h> #include<climits> #include&lt...

2018-08-04 13:57:18 340 0

原创 如何对一个水杯进行测试?(详细)

对于水杯的测试我写了如下的测试,用图片展示如下:

2018-08-03 23:19:49 2644 0

原创 LeetCode--sort list(C++)

题目描述:Sort a linked list in O(n log n) time using constant space complexity. 题目翻译: 在O(nlogn)时间内,使用常数空间对链表进行排序。 题目分析:本题让我们对链表进行排序,我们需要用到归并排序的思想。 归并...

2018-08-03 21:33:39 163 0

原创 LeetCode--Reorder List(C++)

问题描述:Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes’ va...

2018-08-03 21:10:34 67 0

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