一个二叉树的存储方式可以是连续的存储方式(数组)或随机存储方式(链表)。 一、连续存储的二叉树 当使用连续的存储方式时,对于一个完全二叉树来说,子节点编号为2*n,2*n+1,因此仅使用下标即可找到某个节点。但是对于普通二叉树,为了使用数组下标找到节点,需要将其按照完全二叉树补齐,因此需要增加一个值为空的5节点,这样无疑会浪费空间。 1.声明一个完全二叉树类 本类包含一个数组用来存储二叉……

EasyTouch插件是一个很好的触屏控制插件,很多Unity游戏的摇杆等就是用EasyTouch制作的。 摄像机z轴不变的情况 在一些摄像机指向固定不动(相对于世界坐标系)的游戏中(例如王者荣耀等),使用EasyTouch的常用方法可正常控制角色上下左右移动。代码和下面类似: //获取EasyTouch的摇杆坐标 Vector2 joystickPosition = joystick.……

读取配置文件等对于一个游戏的重要性不需要多说,本文总结了本人最近经常用到的C#解析文本文件的方法。本文作为一个涂鸦,仅仅用于提供几个解决问题的思路,对于代码是否高雅等问题不予考虑。 准备工作 创建一个类,用于保存单个Site信息。 public class Site { public string Name{get;set;} public string Url{ get; set;} ……

喵喵喵 复习C这个老祖宗,写了个简单的冒泡排序,想实现将整型数组内的元素从小到大排列,结果出了点小问题。经查阅资料发现数组名这个东西还挺有意思的。 平时都是把数组名当作特殊的指针来用的,所以开始是这么写的。 int * maoPao(int *a); int main() { int a[5] = {21,3,12,9,5}; int *p = maoPao(a); printf("%d……

最近在写一个东西时,需要在多线程中操作非本线程创建的控件,尝试直接调用时报错(线程间操作无效,从不是创建控件的线程访问它,InvalidOperationException),经查询可知,c#默认不允许其他线程直接操作非其创建的控件。那怎么办呢?不用着急,通过下面这个小例子,即可了解到如何解决此问题。 先来看看在同一个线程中操作控件 建立一个简单的窗口,只有一个textbox和一个but……