- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 二叉树重建
二叉树重建是涉及到二叉树知识点中肯定会遇到的问题。前序加中序遍历,或者中序加后序遍历可以唯一地重建一棵二叉树。如:给定前序遍历数组{1,2,4,7,3,5,6,8},中序遍历数组{4,7,2,1,5,3,8,6},然后重建一棵二叉树;思路:在前序遍历数组中第一个数肯定是树的根root->val=1,然后根据root在中序数字的位置可以划分出左子树和右子树的中序遍历,同样又可以知道左子树和右
2017-06-28 16:53:05 621
原创 C++类型的隐式转换和显式转换
隐式转换:编译器根据需要自动转换变量类型。1、一些基本类型的转换double d = 82.0;int i = d;2、类的隐式转换,以下几种情况,类B能隐式转换成类A:(1)B公有继承A,然后用子类去初始化基类class A{};class B:public A{};A a;B b;a = b;(2)B中有类型转换函数class B{
2017-06-27 19:40:18 2573
原创 正则表达式匹配
题目:实现支持'.'和"*"的正则表达式匹配'.'匹配任意一个字母'*'匹配0个或者多个前面的字符。匹配应该覆盖整个输入字符串而不是仅仅一部分。如字符串“aaa”与模式"a.a"和"ab*ac*a"匹配,而与"aa.a"及"ab*a"均不匹配。思路:首先要理解题意(想了好久才了解这个题目的意思)。这个说的是两个字符串要完全相等。意思就是判断是否能用含有'.'和"*"的字符串
2017-06-24 00:08:26 731
原创 筛选法求N范围内的所有素数
先把N个自然数按次序排列起来。1不是质数也不是合数,所以排除1,从2开始。2是质数留下来,把后面能被2整除的数全部删除;接着留下来的第二个素数是3,把后面能被3整除的数删除;依次后移,直到N。我用操作最简单的vector容器实现,看代码:#include #include using namespace std;int main(){ int n; cin>>n; if(n<=1)
2017-06-23 16:50:16 3652
原创 C++容器vector的常用成员函数
vector容器是笔试时最经常用到的容器,它实际是一个类模板,它所具有一些成员函数我们必须熟练使用,这样才会加快编程速度。首先加头文件并定义: #includevectorvec;1、获取vector里的元素个数int len = vec.size();2、向vector添加元素int temp;cin>>temp;vec.push_back(temp);
2017-06-11 14:38:52 14230 2
原创 队列(queue)的模板类及其成员函数的实现
队列(queue)是先进先出的数据结构,存储方式可以是数组也可以是链表。如果用数组存储,一般采用循环队列的方式。所以需记住几个关键点:队头指针进1:front = (front+1)%maxsize队尾指针进1:rear = (rear+1)%maxsize判断队空:front = rear判断队满:front = (rear+1)%maxsize,这里,队满的时候队尾和队头之
2017-06-06 12:21:28 7008
原创 栈(stack)的模板类及成员函数的实现
容器类的数据结构都是用模板类构成的,包括栈(stack),队列(queue),向量容器(vector),双端队列(deque)等。下面实现的是栈的模板类构成。定义头文件#include#includeusing namespace std;const int stackIncreament=20;templateclass SeqStack{public: SeqStack
2017-06-06 09:58:41 4279
进程管理(操作系统ppt)
2013-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人