数据结构和算法(二)

it2024-08-15  38

1.3数据结构中的栈

基本思想:后进先出(先进后出)即栈中元素被处理时,按后进先出的顺序进行,栈又叫后进先出表(LIFO)。 举例: 日常生活中有很多栈的例子。例如,放在书桌上的一摞书,只能从书顶上拿走一本书,书也只能放在顶上。 对于栈来说,入栈,出栈,栈是否为空,栈顶。等方法。 使用数组来模拟栈的操作的代码:

public class Stacktest01 { public static void main(String[] args) { StackT stackT=new StackT(5); System.out.println(stackT.isEmpty()); if (!stackT.isfull()) { stackT.push(100); stackT.push(200); stackT.push(300); stackT.push(400); // stackT.push(500); System.out.println(stackT.peek()); // while (!stackT.isEmpty()) { // // System.out.println(stackT.pop()); // // // // // } }else { System.out.println("栈满了!!!!"); } } } //建立一个stack这样的一个类 class StackT{ public int maxsize;// 这是这个栈的大小 public int Stackarray[]; //这个就是你的栈 public int top=-1; // 这个作为栈顶 public StackT(int s) { maxsize=s; Stackarray=new int[maxsize]; } //入栈的方法 public void push(int number){ Stackarray[++top]=number; } //入栈之前要进行判断栈是否为满栈 public boolean isfull(){ return (top==maxsize-1); } //先进行判断栈是否为空栈 ,如果为空栈,就不需要出栈,不为空才出栈 public boolean isEmpty(){ return(top==-1); } //出栈操作 public int pop(){ return (Stackarray[top--]); } // 取的这是栈顶 public int peek(){ return (Stackarray[top]); } }
最新回复(0)