自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 【整数二进制的完全表示 递归方法】

对于每一位,如果该位为1,则将相应的2的幂的字符串表示添加到结果中。具体地说,如果当前位的索引为i,则我们将"2(" + solve(i) + ")"添加到结果中。然后,& 1表示对移动后的二进制表示进行与运算,其中1的二进制表示为0001。与运算的规则是,只有当两个操作数的对应位都为1时,结果才为1,否则为0。,我们检查k是否为0或1,如果是,则直接返回相应的字符串表示(“0"或"2(0)”)。在构建结果字符串时,我们还需要在每个2的幂之间添加"+"符号,除了第一个2的幂之外。与上文流程图的结果一致。

2023-10-04 15:23:19 86 1

原创 C++实现二叉树(二叉链表)前序,中序,后序,层序遍历

若不为空,则将二叉树的根节点入队,然后开始队列不为空的判断,在此判断(循环)中:输出此结点,并对他的左右子树进行判断,左右子树不为空则进入队列,为空则直接跳过,最后再将遍历过的结点出队,这样一次判断(循环)便完成了。设二叉树中的结点均为一个字符,假设扩展二叉树的前序遍历序列有键盘输入,root为指向跟结点的指针,二叉链表的建立过程是:首先输入根节点,若输入的是一个“#”字符,则表明该二叉树为空树,也就是root=NULL;的语句顺序是:输出根节点,访问左子树,访问右子树;遍历,结果为:DGBAECF;

2023-04-18 21:14:51 2196 1

原创 KMP算法C++代码实现

就像平时我们在文章中搜索关键词一样,模式串就是我们输入的关键词,也就是我们需要查找的,而文本串就是我们阅读的文章,所以从事实出发,模式串是要远远短于文本串的。Next数组是用来记录匹配失败后应该跳转到哪个位置的数组,对于模式串的第一位和第二位而言,只能跳转到第一位,因为Next 是要将真前缀跳跃到与它相同的真后缀上去(通常也可以反着理解),所以当i=0 或者 i=1 时,相同的真前缀只会是 str1(0) 这一个字符,所以Next[0]=Next。但有时前后缀不光只有一个字符相同,可能有多个字符。

2023-04-13 20:46:52 285 1

原创 C++,用栈的方式实现中缀表达式(四则运算)的运算,包含小数,不包含负数。

这么说可能不好理解,例如,给出一个字符串"1.2+2.3",如果我们把这个字符串传入这个函数,那么我们只能得到1.2这一个数字,后面的2.3是得不到的,atof函数在遇到+号的时候就已经退出了。用栈的方式实现中缀表达式的运算,因为其中涉及到小数(未涉及到负数),所以采用常规思路之前首先要对给出的中缀表达式做出一些处理。a数组是上面得到的num数组,n是上面的num数组长度len,栈是自己写的,不是直接调用的头文件,所以函数名和头文件里面不太一样,pop是获取栈顶元素,getTop是出栈,push是入栈。

2023-03-29 09:38:46 655

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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