采用的是跟左右遍历方法
首地址
13391064 074EC220 》》

左子树 跟节点 右子树
074EC220 38937A98
074EC224 39D2EA98 》》
074EC228 357D65C8
074EC22C 00000000
074EC230 00000000
074EC234 00000101
074EC238 C46CD21E
074EC23C 88005500
074EC240 093675E8

根节点下又是左子树和右子树
39D2EA98 38937A98
39D2EA9C 074EC220
39D2EAA0 38939758
39D2EAA4 22720948
39D2EAA8 3B86ED38

具体代码

    public void recursionMonsterAround(){String baseAddr=JnaProcess.readMemoryFromProcessAll(processID,0x1392453,4);String fristAddr=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(baseAddr,16)+0x820443,4);System.out.println("首地址:"+fristAddr);//首节点,也称为数据位String firstNodeAddr=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(fristAddr,16)+0x4,4);System.out.println("首节点:"+firstNodeAddr);String monsterCount=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(baseAddr,16)+0x82E044+0x4,4);System.out.println("当前有怪物数:"+Integer.parseInt(monsterCount,16));if (Integer.parseInt(monsterCount,16)>0){recursionSubTree(fristAddr,firstNodeAddr);}}public void recursionSubTree(String firstAddr,String firstNodeAddr){String temNodeAddr=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(firstNodeAddr,16)+0x10,4);String monsterNameHex=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(temNodeAddr,16)+0x10,8,true);String monsterNamee=hexStr2Str(monsterNameHex);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(monsterNamee);System.out.println("firstNodeAddr:"+firstNodeAddr);String leftSubTreeAddr=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(firstNodeAddr,16),4);System.out.println("当前节点左子树的值:"+leftSubTreeAddr);if(!firstAddr.equals(leftSubTreeAddr)){recursionSubTree(firstAddr,leftSubTreeAddr);}else{System.out.println("左子树遍历完毕");}String rightSubTreeAddr=JnaProcess.readMemoryFromProcessAll(processID,Integer.parseInt(firstNodeAddr,16)+0x8,4);System.out.println("当前节点右子树的值:"+rightSubTreeAddr);if(!firstAddr.equals(rightSubTreeAddr)){recursionSubTree(firstAddr,rightSubTreeAddr);}else{System.out.println("右子树遍历完毕");}}

java-jna 怪物遍历涉及到的二叉树相关推荐

  1. 二叉树 Java 实现 前序遍历 中序遍历 后序遍历 层级遍历 获取叶节点 宽度 ,高度,队列实现二叉树遍历 求二叉树的最大距离...

    数据结构中一直对二叉树不是很了解,今天趁着这个时间整理一下 许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显 ...

  2. 二叉树后序遍历_LeetCode算法145. 二叉树的后序遍历

    leetcode LeetCode算法-145. 二叉树的后序遍历 145. 二叉树的后序遍历 题目 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / ...

  3. android list集合遍历,Java list集合遍历操作遇到的问题

    Java程序员在使用java list集合遍历操作时经常会遇到一些问题,遇到问题该如何解决,想必一些新手也是非常极手,在此,小编给大家汇总了一些java list集合遍历操作常见的问题,给大家做详细分 ...

  4. java 树 广度优先遍历_Java二进制搜索树遍历操作的详细描述[前,中,后,层次,广度优先遍历]...

    本文介绍了Java二进制搜索树遍历操作. 与您分享以供参考,如下: 前言: 在Java Binary Search Tree Basics的上一节中,我们了解了该树及其相关知识,并对Binary Se ...

  5. java实现从左到右打印二叉树

    java实现从左到右打印二叉树 对于二叉树相信大家都很熟悉了,作为一个程序员都是学过数据结构的.对于二叉树的遍历大家应该都不陌生吧!我们都试过前序遍历,中序遍历,后续遍历.但是我们很少去从左到右打印一 ...

  6. Atitit.java jna  调用c  c++ dll的原理与实践  总结  v2  q27

    Atitit.java jna  调用c  c++ dll的原理与实践  总结  v2  q27 1. Jna简单介绍1 2. Jna范例halo owrld1 3. Jna概念2 3.1. (1)需 ...

  7. 给出中后或者前中遍历,确定一个二叉树

    前序遍历:先访问根节点,在访问左节点,在右节点 中序遍历:现访问左节点,在访问根节点,在右节点 后序遍历:现访问左节点,在访问右节点,在根节点(顺序以根节点为基准) 二叉树的遍历:分为前中和后中(一定 ...

  8. java 迭代器只遍历了一次的解决方案

    java 迭代器只遍历了一次的解决方案 参考文章: (1)java 迭代器只遍历了一次的解决方案 (2)https://www.cnblogs.com/kinome/p/9969938.html 备忘 ...

  9. java list 删除 遍历_Java list利用遍历进行删除操作3种方法解析

    Java list利用遍历进行删除操作3种方法解析 这篇文章主要介绍了Java list利用遍历进行删除操作3种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需 ...

最新文章

  1. 深度学习在自然语言处理的应用
  2. settype COM_LOCAT_ADDR出现在CRM change document里的原因
  3. 警惕 十种短命的生活方式
  4. express模板引擎 html,Express使用html模板的代码分析
  5. 不属于python循环结构的是( )_Python语句print(type(['a','1',2,3]))的输出结果是哪一项?_学小易找答案...
  6. 调试方法和技巧(zz)
  7. openjudge用c语言答案,OpenJudge - NOI - 1.4编程基础之逻辑表达式与条件分支(C语言 全部题解)...
  8. Software-Defined Networking (SDN) Definition-软件定义网络
  9. 计算机云计算中心建设项目,某大学计算机云计算云数据中心建设方案.docx
  10. OBS 录制简单操作说明
  11. java栈溢出_java 内存溢出 栈溢出的原因与排查方法
  12. python爬取百度百科获取中国高校信息
  13. cleanmymac废纸篓垃圾桶模块主要功能介绍
  14. Linux网络编程基础知识
  15. 如何使用FME在Revit中导出IFC
  16. 慕了!17年阿里Java开发大佬把Spring Boot的精髓都总结出来了
  17. 必备的 DevOps 工具链大盘点
  18. 分享带有书签的学习的电子书籍(持续添加...)
  19. 暑假软件工程实践学习实习小结(1)
  20. 05组团队项目-Alpha冲刺-1/6

热门文章

  1. Java项目:Springboot实现的一个简单博客管理系统
  2. iphoneXR的tabbar底部图片的适配
  3. Pandas数据可视化原来也这么厉害
  4. 如何有效利用大数据预测能力
  5. MySQL系列之Natural Join用法
  6. 51单片机之看门狗定时器ing STC12C5A60S2
  7. http中的scheme和小程序中的scheme
  8. 侯捷C++视频笔记——C++面向对象高级编程(上)
  9. 智能时代,三步让自己不再焦虑
  10. 【自动控制原理】根轨迹法之绘制根轨迹