④本案例还记录路径,采用的是链表数据结构
每次把 prev 给记录下来,这下就可以追溯到整个完整的探测路线:
export class RouteNode extends Point { prev: RouteNode ; //前一个节点 next: RouteNode ; //下一个节点 step: number constructor(x: number, y: number, step: number) { super(x, y) this.step = step }}
⑤队列是自己利用数组改成的
openharmony 目前 Deque、Queue 有 bug,没法用;只能用数组,然后 数组的 pop 是最后一个,就把探测顺序插入第一个 。
export class MyArrayQueue { nodes: RouteNode[] constructor() { this.nodes = new Array } push(node: RouteNode) { Logger.d(TAG, `push ...:${JSON.stringify(node)}`) this.nodes.unshift(node) Logger.d(TAG, `push end.:${JSON.stringify(this.nodes.length)}`) } pop(): RouteNode{ return this.nodes.pop() } size() { return this.nodes.length }}
总结
可能代码直接拷贝过去跑不通;本文也就阐述一种思维,同时体现一下 openharmony 目的能力可达之处 。
推荐阅读
- 文件怎么加密?哪款文件加密软件最好用呢
- 原味苦瓜干片,给老妈晒苦瓜片
- 长津湖李幼斌演谁
- 若尔盖湿地面积 若尔盖湿地
- switch可以连电脑吗,switch可以连接电脑下载
- 怎么看路由器多少兆,怎么知道路由器是多少兆的网
- 手表三个按钮怎么用,手表右面的三个键怎么用的图片
- 怎样把word转成pdf,怎么把word转成pdf
- 手机上发布的58怎样删除,手机58同城怎么发布租房信息