摘要:
二叉树的遍历我想大家都知道了,主要有先序、中序、后序,递归的遍历我就不说了,今天小编给大家主要介绍下二叉树的非递归遍历。 节点结构体: 首先是先序遍历,借助栈实现的。 下来时中序遍历 之后是后序遍历 后序遍历小编在压栈时将节点进行了包装从而实现从左子树到右子树的转换。 最后在送大家一个层次遍历吧! 阅读全文
摘要:
shared_ptr是一个最像指针的“智能指针”,是boost.smart_ptr库中最有价值、最重要的组成部分,也是最有用的,Boost库的许多组件——甚至还包括其他一些领域的智能指针都使用了shared_ptr,所以它被毫无悬念地收入了C++11标准。 shared_ptr与scoped_ptr 阅读全文
摘要:
class string { public: string(const char *str=NULL); string(const string& str); //copy构造函数的参数为什么是引用呢? string& operator=(const string & str); //赋值函数为什么返回值是引用呢?参数为什么是引用呢? ~string(); }; 下面我就给大家... 阅读全文
摘要:
n个人围成一个圈,每个人分别标注为1、2、...、n,要求从1号从1开始报数,报到k的人出圈,接着下一个人又从1开始报数,如此循环,直到只剩最后一个人时,该人即为胜利者。例如当n=10,k=4时,依次出列的人分别为4、8、2、7、3、10,9、1、6、5,则5号位置的人为胜利者。给定n个人,请你编程计算出最后胜利者标号数。 第一行为人数n; 第二行为报数k; 转载: 对于约瑟夫斯环问题,我这边有两... 阅读全文
摘要:
空结构体/空类大小为1字节 在c++中类和结构体一样都需要字节对齐 类中的方法不算做类成员的大小 如果类中的方法是虚方法就不同了因为它会有一个虚表指针,当然即使虚方法有两个但是虚表指针也只会有一个,所以: class Test1 //按照double对齐 { public: virtual void fun() {}; virtual void fun1(... 阅读全文
摘要:
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 示例 2: 小编的这道题用的暴力法,之后发 阅读全文
摘要:
概念: strlen() 所求的字符串常量长度是不包括“/0”字符长度 ,同时strlen是根据’\0’求字符串长度的,它是一个函数。 sizeof() 是运算符,它不是函数。所求字符串常量大小包括“/0”求所占空间大小。 概念大家大概懂了,那么我们就直接代码举例吧这样一清二楚: 举例: char str[]="Hello"; strlen(str) //5 //... 阅读全文
摘要:
介绍: 在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: p指向字符串。这种方法造成字符串与结构体是分离的,不利于操作。如果把字符串跟结构体直接连在一起,不是更好吗?于是,可以把代码修改为这样: 阅读全文
摘要:
题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "w... 阅读全文
摘要:
题目: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 知道题网上有很多种解法,比如Manacher算法就是专 阅读全文