⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eightqueue.java

📁 使用java重新解决八数码问题
💻 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 + -