代码拉取完成,页面将自动刷新
#ifndef VIRTUALSEARCH_H
#define VIRTUALSEARCH_H
#include <QObject>
#include"data.h"
enum Distance{
//欧氏距离,曼哈顿距离,切比雪夫距离
OSJL=1,
MHDJL,
QBXFJL,
};
class VirtualSearch : public QObject
{//搜索的抽象类
Q_OBJECT
public:
explicit VirtualSearch(QObject *parent = nullptr);
//设置地图
virtual void setMap(Map*map0) = 0;
//设置欧氏距离、曼哈顿距离和切比雪夫距离
virtual void setDistance(int distance0) = 0;
//slots:
//单步搜索
virtual void step() = 0;
//连续搜索
virtual void Continuous() = 0;
//终止搜索
virtual void stop() = 0;
signals:
//单步搜索完成(成功1/失败0)
void completed(bool);
//全部搜索完成(成功1/失败0)
void finished(bool);
//输出搜索结果(要显示的节点的坐标,前驱节点坐标(不存在则为{-1,-1}),状态(OPEN、SEAL),信息(G、H、F的值))
void output(Point coordinate,Point pre,int flag,QString);
//输出搜索到的路径
void result(QVector<Point>);
//其它输出请自行添加
protected:
Map*map;
int distance;
};
#endif // VIRTUALSEARCH_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。