![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++编程
文章平均质量分 91
安塔利亚的猿
这个作者很懒,什么都没留下…
展开
-
二叉树的三种遍历
众所周知,二叉树的遍历方法分为4类,分别为先序遍历、中序遍历、后序遍历和分层遍历。 记得当初学习二叉树的时候,对先序遍历、中序遍历和后序遍历总是混淆(上课时没认真听讲),忘记访问的顺序,后来自己归纳总结了两点,然后就再也没忘记过,下面来介绍下我的记忆小窍门。 先、中、后代表根的位置,而子节点的顺序是从左至右不变的。 先序遍历:根、左子树、右子树 void pre_traverse(原创 2017-09-23 20:11:50 · 409 阅读 · 0 评论 -
C++ 中vector和list的区别
1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n)。 另外,当数组中内存空间不够时,会重新申请一块内存空间并进行内存拷贝。 2.list数据结构 list是由双向链表实现的,因此内存空间是不连续的。原创 2017-09-24 21:33:00 · 237 阅读 · 0 评论 -
NULL和nullptr的区别与联系
1、空指针,null pointer,不指向任何对象,在试图使用一个指针之前必须要检查这个指针是不是空指针。 2、举例子: int *p1=nullptr; 等价于: int *p1=0; // 直接将 p1 初始化为字面值常量 nullptr 或者 字面值常量 0。 int *p2=NULL; 等价于:int *p2=0; int *p3=原创 2018-01-08 23:03:34 · 1790 阅读 · 1 评论