c++
走过那年CK
苦逼大学生IT狗一枚。
展开
-
逆波兰表达式的计算问题
逆波兰表达式分两步,首先要把中缀表达式转换成后缀表达式,然后根据后缀表达式求值。include include include include using namespace std; char* MidExpressionToLastExpression(char * szExpression); int GetAnswerByLastExpression(char* szExpression原创 2016-04-04 10:28:04 · 491 阅读 · 0 评论 -
KMP算法(c++)实现
KMP算法是一种模式匹配算法,以前早期的字符串匹配算法是一种简单的朴素匹配算法。附上代码:#include <stdio.h> #include <stdlib.h> #include <string> using namespace std;//得到next数组 void Get_KMP_NEXT(int next[],string str_suit) { int i=1; int原创 2016-04-05 18:40:25 · 292 阅读 · 0 评论 -
二叉树的创建即遍历(递归方式)
最近准备把数据结构书上的算法用代码实现一遍,在二叉树这块遇到了一点小问题,发现是自己指针这块还没过关,研究了一个小时候,终于明白二级指针的使用情况,(那些自认为自己指针过关的同学可不要停留在一级指针这块,往后深度,你会发现多级指针使用时太爽了。) 好了,复习了一波指针的相关内容,我们来查看具体的二叉树的创建于与遍历的代码;#include <stdio.h> #include <s原创 2016-04-06 23:21:57 · 4969 阅读 · 0 评论 -
二叉树的非递归遍历方法(前序,中序,后序)
二叉树的非递归遍历用到栈这个数据结构前序中序,度比较简单,但是在后序遍历时因为我们先打印子节点数据,此时该节点还不能删除,因为我们还要通过它得到右节点,所以删除一个节点的条件是该节点没有左右孩子,或是访问到该节点时,前一个节点应该是该节点的左右孩子其中的一个,这个表名这个节点的孩子节点之前已经访问了,现在该访问该节点啦。 附上源代码#include <stdio.h> #include <stdl原创 2016-04-07 23:29:03 · 407 阅读 · 0 评论 -
线索二叉树的建立与遍历
#include <stdio.h> #include <stdlib.h> typedef enum{LINK=0,THREAD} PointerTag;//为0表示右左右孩子,为1表示没有,则为线索 struct BiThrNode { char data;//节点存储的数据 BiThrNode* lchild,*rchild;//左右孩子 PointerTag LTag原创 2016-04-09 00:07:34 · 541 阅读 · 0 评论