1本程序在vc++6.0编译通过并能正常运行。
2主界面程序已经尽量做到操作简便了,用户只需要根据提示一步步进行操作就行了。
六思考和总结:这个课程设计的各个基本操作大部分都在我的综合性实验中实现了,所以做这个主要攻克插入和删除这两个算法!其中插入在书本上已经有了,其中的右平衡算法虽然没有给出,但通过给出的左平衡算法很容易就可以写出右平衡算法。
所以最终的点就在于删除算法的实现!做的过程中对插入算法进行了非常非常多次的尝试!花了非常多的时间,这其中很多时候是在对程序进行单步调试,运用了VC6。
0的众多良好工具,也学到了很多它的许多好的调试手段。
其中删除算法中最难想到的一点是:在用叶子结点代替要删除的非叶子结点后,应该递归的运用删除算法去删除叶子结点!这就是整个算法的核心,其中很强烈得体会到的递归的强大,递归的最高境界(我暂时能看到的境界)!其它的都没什么了。
选做的那两个算法很容易实现的:1合并两棵平衡二叉排序树:只需遍历其中的一棵,将它的每一个元素插入到另一棵即可。
2拆分两棵平衡二叉排序树:只需以根结点为中心,左子树独立为一棵,右子树独立为一棵,最后将根插入到左子树或右子树即可。
BSTreeEmpty(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:若T为空平衡二叉排序树,则返回TRUE,否则FALSE.BSTreeDepth(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:返回T的深度。
LeafNum(BSTreeT)求叶子结点数,非递归中序遍历NodeNum(BSTreeT)求结点数,非递归中序遍历DestoryBSTree(BSTree*T)后序遍历销毁平衡二叉排序树TR_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作右旋处理,处理之后p指向新的树根结点即旋转处理之前的左子树的根结点L_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作左旋处理,处理之后p指向新的树根结点,即旋转处理之前的右子树的根结点LeftBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作左平衡旋转处理,本算法结束时,指针T指向新的根结点RightBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作右平衡旋转处理,本算法结束时,指针T指向新的根结点Insert_AVL(BSTree*T,TElemTypee,int*taller)若在平衡的二叉排序树T中不存在和e有相同的关键字的结点,则插入一个数据元素为e的新结点,并返回OK,否则返回ERROR.若因插入而使二叉排序树失去平衡,则作平衡旋转处理布尔变量taller反映T长高与否InOrderTraverse(BSTreeT)递归中序遍历输出平衡二叉排序树SearchBST(BSTreeT,TElemTypee,BSTree*f,BSTree*p)在根指针T所指的平衡二叉排序树中递归的查找其元素值等于e的数据元素,若查找成功,则指针p指向该数据元素结点,并返回TRUE,否则指针p指向查找路径上访问的最后一个结点并返回FALSE,指针f指向T的双亲,其初始调用值为NULLDelete_AVL(BSTree*T,TElemTypee,int*shorter)在平衡二叉排序树中删除元素值为e的结点,成功返回OK,失败返回ERRORPrintBSTree_GList(BSTreeT)以广义表形式打印出来PrintBSTree_AoList(BSTreeT,intlength)以凹入表形式打印,length初始值为0Combine_Two_AVL(BSTree*T1,BSTreeT2)合并两棵平衡二叉排序树Split_AVL(BSTreeT,BSTree*T1,BSTree*T2)拆分两棵平衡二叉树}(2)存储结构的定义:typedefstructBSTNode{ TElemTypedata; intbf;//结点的平衡因子 structBSTNode*lchild,*rchild;//左.右孩子指针}BSTNode,*BSTree;
1
利用所学的C语言知识及其编程方法:结构程序设计、数组、指针、结构体、文件操作等内容,通过布置具有一定难度的实际程序设计题目,要求学生独立完成所布置题目。
在分析设计过程中,要求学生养成良好的编程习惯,学会分析解决简单的实际问题,学会C语言的实际调试技巧和方法,要求学生在教师的指导下逐步完成应用程序的设计
2024/6/18 4:28:22 482KB 唱歌评分系统 C语言 链表 结构体
1
使用了google新版的内购API,com.android.billingclient:billing:1.0,使用方法更加简单了。
使用该封装,只需要简单的一步就能初始化,里面的接口功能齐全,具备完整的成功、失败、错误回调。
里面包含详细教程,有些坑可以看我博客。
http://blog.csdn.net/u013640004/article/details/78257536更新日志:*V1.1.32017/12.19*修复-服务启动失败时导致的空指针错误。
**V1.1.22017/12/18*修复-修复内购未被消耗的BUG。
*增加-每次启动都获取一次历史内购订单,并且全部消耗。
*增加-可以通过设置isAutoConsumeAsync来确定内购是否每次自动消耗。
*增加-将consumeAsync改为public,你可以手动调用消耗。
**V1.1.12017/11/2*升级-内购API版本为google最新版本。
compile'com.android.billingclient:billing:1.0'*特性-不需要key了,不需要IInAppBillingService.aidl了,不需要那一大堆Utils了,创建新实例的时候必须要传入购买回调接口。
2024/6/17 1:12:17 5KB 谷歌内购 google内支付 googleplay
1
本次实验采用C编写,将内存空间定义为结构体链表,成员有作业名name[20]、作业首址s_add、作业长度length及下一节点的指针next;
空闲分区表定义为结构体数组,成员有空闲区首址s_add、空闲区长度length、表项状态state。
2024/6/16 16:37:14 89KB C语言 操作系统 内存 分配
1
在eclipse中鼠标指针指向代码,会显示中文API说明。
解压。
eclipse→窗口→首选项→java→JRE→双击→展开rt.jar,中间Javadoc位置,选择解压后位置的文件夹,验证确定。
不建议使用中文版的。
2024/6/11 6:27:30 33.74MB 中文api java
1
本人经过两天的研究,终于掌握了动态链接库的使用方法,动态链接库的使用上并不难,难在动态链接库中的导出类,把dll中类的成员函数导出来才是最重要的,我就用几个例子介绍一下几种导出的方法:第一种:这种方法不是很好,实现的也比较麻烦,可以参考例子中的1_DLLDemoCll工程原理:利用虚函数导出,导出的dll中申请的对象指针,再利用虚函数的特性,利用虚函数表实现了类函数的导出,比较麻烦建议了解一下。
第二种:这种方法实现起来比较简单,采用的是静态加载的方式,但是有很多的局限性,因为当dll有错是整个应用都会出问题,不建议在打的工程中使用。
具体代码实现见static_link_DLL工程,其中dll文件由Abstrct文件编译。
第三种:这种方法是我推荐的,它是由动态加载进来的,其中实现原理是:运用抽象类,为工程创建接口,通过接口来导出类成员函数这种方式通用性强,而且代码比较的健壮,节省内存。
见工程useDLL。
2024/6/4 0:49:19 57KB 动态链接 导出类 loadlibrary
1
假定系统有五个进程,每一个进程用一个进程控制块PCB来代表;
进程控制块如包含:进程名、指针、要求运行时间、优先数、状态等。
在每次运行所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进程队列的变化。
为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程
2024/5/29 7:48:27 166KB 进程调度 电梯调度 算法 C++
1
用halcon11写的指针仪表识别代码,在C#和VB都开发了软件
2024/5/15 4:22:44 2.54MB 指针仪表识别
1
MATLAB识别指针式仪表的示数,所用方法为距离法,经过试验,该方法可以较为准确的识别指针式仪表的示数,代码中有详细的备注,便于读者理解
2024/5/8 17:18:35 1013KB MATLA 指针式仪 图像处
1
外挂无间道驱动版-内存写入监视器-做外挂必备外挂无间道-内存写入监视器-偷别人的外挂数据-支持偷DLL和EXE[驱动版]一、支持各种语言外挂的支持:支持偷易语言模块写的外挂、支持偷VC++写的外挂支持偷VB写的外挂支持偷Dephi写的外挂......二、支持exe形式的外挂(用普通模式或驱动模式)三、支持DLL形式的外挂(用驱动模式)除了不能偷CALL数据,其他基址和偏移,还有一些汇编字节修改的数据全部可以偷。
小知识:对于如何帮助你偷到精确的数据有帮助。


游戏内存可以简单分:1、代码段内存(是游戏执行流程-穿墙的判断就在这里。
比如修改跳转JMP等)这个区域是只读的比如《植物大战僵尸》的无CD,去暂停窗口等变态修改都在这个代码段内存进行修改的又比如《武林外传》隐藏建筑物、穿墙、无限表情都是在这个代码段内存里面修改的还有《魔兽真三》全图挂、《梦三国》全图挂、《起凡》全图挂也是在这个代码段内存里面修改的《武神》的穿墙也是在这个代码段内存区域修改的2、数据段内存(是人物X坐标,人物血,人物蓝,人物走路速度等人物属性内存)这个区域是可读可写比如植物大战僵尸的阳光数值就是指针结构[6A9EC0]+768]+5560,这个数据是在数据段内存又比如《QQ西游》的飞天,加速,瞬移就是在这个数据段里面的(速度指针、x和y坐标指针、z坐标指针)包括《武神》的加速瞬移也是在这个数据段内存里面的(速度指针、x和y坐标指针)《武林外传》飞天指针结构、血指针结构、蓝指针结构总结:外挂无间道也得分这两种情况去偷。




即可汇编字节模式和基址偏移模式
2024/4/28 20:34:36 3.68MB 外挂偷数据
1
共 310 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡