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

📄 demo.java

📁 学习数据结构的最好辅助工具,快速帮助你熟悉数据结构的相关技术
💻 JAVA
字号:
import java.awt.*;
import StackCell;
public class Demo extends TextArea
{
	private boolean m_hasError = false;
	private StackCell m_data[] = new StackCell[30];
	private boolean m_initialized = false;
	private int m_stackTop = 0, m_max = 30;
	private String m_err;
	
	public Demo()
	{
		super(4, 60);
	}
	
	public void reset()
	{
		m_initialized = true;
		m_hasError = false;
		m_stackTop = 0;
		refresh();
	}
	
	public boolean isEmpty()
	{
		return (m_stackTop==0);
	}
	
	public boolean push(StackCell e)
	{
		if(m_stackTop<m_max)
		{
			m_data[m_stackTop] = new StackCell(e);
			m_stackTop++;
			refresh();
			return true;
		}
		m_err = "栈溢出——迷宫过于复杂";
		m_hasError = true;
		refresh();
		return false;
	}
	
	public void pop(StackCell e)
	{
		m_stackTop -- ;
		e.m_dir = m_data[m_stackTop].m_dir;
		e.m_pos = m_data[m_stackTop].m_pos;
		e.m_step = m_data[m_stackTop].m_step;
		refresh();
	}

	public void refresh()
	{
		if(m_initialized)
		{
			if(!m_hasError)
			{
				setText("step");
				for(int i=0; i<m_stackTop; i++)
					append('\t'+(new Integer(m_data[i].m_step).toString()));
				append("\npos.x");
				for(int i=0; i<m_stackTop; i++)
					append('\t'+(new Integer(m_data[i].m_pos.x).toString()));
				append("\npos.y");
				for(int i=0; i<m_stackTop; i++)
					append('\t'+(new Integer(m_data[i].m_pos.y).toString()));
				append("\ndi");
				for(int i=0; i<m_stackTop; i++)
					append('\t'+(new Integer(m_data[i].m_dir).toString()));
			}
			else setText(m_err);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -