- 博客(15)
- 收藏
- 关注
原创 对称二叉树及相关题目C++版
逻辑分析:1. 想要知道该二叉树是否为对称二叉树,首先需要知道的一点是,以根结点为分界线,左右孩子“对折”,是否能“重合”2. 判断是否为对称二叉树,我们只需要处理根节点的左右子树即可。那么想象一下,第一步,我们是否只需要把左子树的左孩子和右子树的右孩子进行比较就可以了呢?答案是不完全正确,这只能说明左子树的外侧和右子树的外侧是对称的,不能代表内侧也对称。
2023-10-26 13:35:29 94 2
原创 二叉树的层序遍历及应用(翻转二叉树)C++版
算法思想:1. 先将根节点入队,此时队列不为空,开始循环;2. 计算出队列的长度size,为了确保for循环一轮循环size次,也就是树的每一层的元素个数3. 让node指针永远指向队头元素,为了暂存队头结点并将其记录保存下来,以便于执行出队操作后,依然能对出队后的结点进行操作,也就是让node指针的左右结点依次按顺序入队。4. 再将左孩子结点和右孩子结点入队。进行下一次循环时,由于根结点已经出队,则此时que.size() = 2,for循环执行两次。此时result = [[1],[2,3]]
2023-10-26 11:46:35 101 1
原创 树的非递归遍历算法c++版
再让栈顶指针指向7,让7出栈访问,显然7也没有左右孩子,但是现在循环依旧满足条件,因为我们的栈中还剩下最后一个元素4,则进行最后一次循环,让最后一个元素4出栈并访问,4没有左右孩子,则两个if条件都不执行,循环结束,完成非递归前序遍历。得到的result = [1,3,6,7,4]而非递归后序遍历是先把左孩子入栈,后入右孩子,为了得到顺序:“中右左”,设想一下,在这样的代码执行完毕之后,我们只需要对“中右左”进行翻转,那么是不是就得到了“左右根”,此时也正是我们所想要看到的后序遍历的顺序。
2023-10-24 21:27:51 119
原创 用vue2写一个从0加到指定数字本身的动态视觉数字效果
注意:key一定要加上,key的作用是:当页面中数据经过二次处理,在不加key的情况下还是显示的初始值,是因为页面提前完成了初次渲染。1. 打开控制台输入。
2023-07-15 09:57:29 446 1
原创 Vue-组件间通信之任意组件通信(消息订阅与发布)
在控制台下载库: npm i pubsub-js 2.引入: import pubsub from 'pubsub-js'使用:(1 )订阅消息:(接收发布消息) 这里的hello必须要有 msgname --> 发布消息的消息名称,data --> 是消息的对象或者是值 这里回调函数的两个参数必须要有,否则报错!! 必须要写在mounted 挂载钩子里 mounted() { ...
2021-10-12 00:38:18 158
原创 Vue-全局事件总线
组件间通信之任意组件通信(全局事件总线) 首先先有个x组件能让所有组件都能够访问得到 思路: 1.可以直接将需要全局访问的内容放在windows上,但是不推荐使用 2.由于当每创建一个子组件时,都会生成一个全新的 Vuecomponent 所有这个x不能给Vuecomponen 3.所以需要在vue的实例对象上添加vue.prototype原型,其他任何组件才可以访问到原型里的内容 1>如何添加? (1)在创建vue后
2021-10-11 23:06:03 226
原创 vue组件通信:父传子—子传父
我们都知道组件是vue里很重要的一个知识点,这里我看的是b站上的coderwhy老师的视频下面我就来写分享以下我的课程总结父传子1.首先想要实现组件的父子通信,那么我们第一步要先创建一个子组件,与父组件绑定,那么先看以下原代码...
2021-10-05 23:13:40 4916
原创 用java实现将原数组转换为稀疏数组
步骤:1.创建一个11*11的原数组,并初始化;遍历输出int chessArr1[][] = new int[11][11]; // 分别给指定坐标赋值 chessArr1[1][2] = 1; chessArr1[2][3] = 2; chessArr1[3][4] = 3; chessArr1[4][5] = 4; System.out.println("原始的二维数组"); /
2021-09-24 00:07:36 109
原创 对数组的三种排序算法与二分法
1.先用快速排序将数组从小到大排好顺序2.再用插入排序逆转数组3.再用选择排序将数组恢复4.再用二分法查找输入两个数之和,找到返回mid 找不到返回-1代码块#include <stdio.h>//封装打印函数 void print_arr(int* arr,int sz){ int i = 0; int arr1[10]; for(i = 0;i<sz;i++){ arr1[i] = arr[i]; printf("%d ",arr1[i]);
2021-09-18 17:14:56 263
原创 c语言实现扫雷
(一)主要思想1.首先得打印一个字符数组在屏幕上2.有了数组要给数组初始化,并且要显示给玩家视角和程序员视角的两个视图,切记,初始化到时候由于我们需要检测一个坐标周边八个坐标有没有雷,那我们就需要初始化一个11*11的数组,但是我们的显示的是9*9的数组,防止检测雷的时候导致数组越界的情况。因此我们可以再宏定义两个ROWS,COLS代表11*11的数组3.初始化后,打印字符数组的时候,只答应9*9的字符,ROW,COL4.mine数组是程序员视图,show数组是玩家视图5.此时此...
2021-07-11 16:27:02 205 7
原创 c语言输入账号密码三子棋
1.定义test函数,让用户选择输入开始或者退出2.再定义菜单menu显示选择内容,1代表开始,当用户按下1时,则switch语句生效。在case 1里调用实现三子棋游戏函数games;所有的三子棋函数模块都在games函数里,test调用games函数,test从主函数结束3:game函数:1.调用isborad函数,为了初始化棋盘 2.再调用tableborad函数,为了打印出棋盘的格子,使用for循环嵌套实现 ...
2021-07-04 21:55:24 449 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人