📄 eightqueue.java
字号:
//状态队列类
public class EightQueue {
private int size = 0;
EightData dataQue[] = new EightData[500000];
//public static int check[] = new int[87654321];
public void push(EightData e) {
dataQue[size] = e;
size++;
}
public boolean isEmpty() {
if(size==0)
return true;
else
return false;
}
public boolean existOrNot(EightData e) {
if(size==0)
return false;
else {
for(int i=0;i<size;i++){
if(dataQue[i].equals(e))
return true;
}
}
return false;
/*
int t[] = new int[8];
long temp = 0;
int index =0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++) {
t[index] = e.state[i][j];
index++;
}
temp = t[0]*10000000 + t[1]*1000000 +t[2]*100000 +t[3]*10000 + t[4]*1000 +t[5]*100 + t[6]*10 + t[7];
if(temp==1)
return true;
else
return false;*/
}
public EightData getAt(int index) {
return dataQue[index];
}
public void setAt(EightData e,int index) {
dataQue[index] = e;
}
/*
public void flag(EightData e) {
long temp = 0;
int t[] = new int[8];
int index =0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++) {
t[index] = e.state[i][j];
index++;
}
temp = t[0]*10000000 + t[1]*1000000 +t[2]*100000 +t[3]*10000 + t[4]*1000 +t[5]*100 + t[6]*10 + t[7];
check[(int)temp] = 1;
}
public void removeFlag(EightData e) {
long temp = 0;
int t[] = new int[8];
int index =0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++) {
t[index] = e.state[i][j];
index++;
}
temp = t[0]*10000000 + t[1]*1000000 +t[2]*100000 +t[3]*10000 + t[4]*1000 +t[5]*100 + t[6]*10 + t[7];
check[(int)temp] = 0;
}
*/
public int getSize() {
return size;
}
public int getIndex(EightData e) {
for(int i=0;i<size;i++) {
if(dataQue[i].equals(e))
return i;
}
return -1;
}
public void remove(EightData e) {
for(int i=0;i<size;i++)
if(dataQue[i].equals(e))
dataQue[i] = null;
size--;
}
public void removeAt(int index) {
for(int i=index;i<size;i++)
dataQue[i] = dataQue[i+1];
size--;
}
public void display() {
for(int i=0;i<size;i++)
dataQue[i].display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -