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

📄 stack01.java

📁 已经编写好的数据结构课本程序可以减轻您的负担
💻 JAVA
字号:
// =============== Program Description ===============
// 程序名称: Stack01.java
// 程序目的: 堆栈数据的存取(使用数组)。
// Written By Kuo-Yu Huang. (WANT Studio.) 
// ===================================================
import ConsoleReader.*;					// 导入已定义的数据输入类

public class Stack01
{	
	public static void main (String args[])	
	{
	       	int Select;				// 选择功能变量
		StackArray Stack01 = new StackArray();	// 堆栈数组
       		int i;					// 循环计数变量
       		int Value;				// 输入值变量
      		
      		do
      		{
      			System.out.println("(1)Input a stack data");
          		System.out.println("(2)Output a stack data");
	  		System.out.println("(3)Exit");
          		System.out.print("Please select one => ");
          		ConsoleReader console = new ConsoleReader(System.in);
			Select = console.readInt();
	  		
	  		switch (Select)			// 判断选择的功能
          		{
	     			case 1:
	     				System.out.print("Please input the data => ");
	     				Value = console.readInt();
	     				Stack01.Print();
		     			Stack01.Push(Value);
		     			Stack01.Print();
		     			break;
	     			case 2: 
	     				Stack01.Print();
	     				Value = Stack01.Pop();
	     				Stack01.Print();	     				
		     			break;
	  		}
	      } while (Select !=3);
	}
}

class StackArray
{
	int MaxSize = 10;
	int[] AStack = new int[MaxSize];		// 声明堆栈数组
	int Top = -1;					// 堆栈顶端
//--------------------------------------------
// 输出堆栈数据
//--------------------------------------------
	public void Print()
	{
		int i;					// 循环计数变量
		
		System.out.println("The Stack Content(Ttop->Bottom):");
   		for ( i=Top ; i>=0 ; i-- )
       			System.out.print("["+AStack[i]+"]");
		System.out.println("");
	}
	
//--------------------------------------------
// 存入堆栈数据
//--------------------------------------------
	public void Push(int Value)
	{
   		int i;

   		if (Top >= MaxSize)			// 判断是否已超出堆栈的最大容量
   		   System.out.println("The stack is full!!");   		
   		else
   		{			
   			Top++;				// 堆栈顶端指针+1
   			AStack[Top] = Value;		// 将数据存入堆栈中
   		}
	}
	
//--------------------------------------------
// 从堆栈中取出数据
//--------------------------------------------
	public int Pop( )
	{
     		int Temp;				// 保存从堆栈取出来的数据
     		int i;					// 循环计数变量

     		if (Top <  0)				// 判断堆栈是否为空
     		{
            		System.out.println("The stack is empty!!");
            		return -1;
     		}

     		Temp = AStack[Top];			// 将取出数据保存于变量中
     		Top--;					// 堆栈顶端指针-1
     		
     		return Temp;
	}
}

⌨️ 快捷键说明

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