📄 node.java
字号:
/**
*
*/
package SensorNode;
import java.util.ArrayList;
/**
* @author WangJiayi
* 传感器个体的域和方法
*/
public class Node {
//构造器,构造给定坐标的传感器节点,构造时邻居为空(即无邻居)
public Node(double x1,double y1,ArrayList<Node> tmp){
x = x1;
y = y1;
neighbor =tmp;
}
//添加邻居的方法,一个Node类型的参数,若坐标符合要求则将该对
//象添加到邻居列表中。
public void addNeighbor(Node tmp){
a = tmp.x -this.x;
a*=a;
b = tmp.y -this.y;
b*=b;
if(d > (a+b)&& this != tmp)
{
neighbor.add(tmp);
}
}
public void setisread(){
isread = true;
}
public boolean readstate(){
return isread;
}
public Node getneighbor(int n){
return neighbor.get(n);
}
//判断一个所给的节点是不是该节点的邻居的方法
public boolean isNeighbor(Node x){
int i;
for(i=0;i< neighbor.size();i++){
if(x == neighbor.get(i)) return true;
}
return false;
}
//该点的最短路径的长度
public int dist =-1;
//域
//节点的坐标
public double x=0;
public double y=0;
//传感器可通信的范围的值的平方
public static final double d =10000;
//在求最短路径时是否已经计算过
public boolean isread =false;
//用来寻找路径的指针
public Node path =null;
//邻居列表,通过addNeighbor方法修改
ArrayList<Node> neighbor =null;
private double a,b;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -