题解 | #【模板】栈#
【模板】栈
http://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf
import java.util.Scanner;
import java.util.Stack;
import java.lang.String;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=Integer.parseInt(sc.nextLine());
Stackone s=new Stackone(n);
while(sc.hasNextLine())
{
String[] str=sc.nextLine().split(" ");
if(str[0].equals("push"))
{
s.push(Integer.parseInt(str[1]));
}else if(str[0].equals("pop"))
{
s.pop();
}else{
s.top();
}
}
}
}
class Stackone{
int[] data;
int size=0;
int maxSize=0;
int top=0;
public Stackone(int maxSize)
{
this.maxSize=maxSize;
this.data=new int[maxSize];
}
public void push(int num)//入栈
{
if(this.size==this.maxSize)
{
System.out.println("error");
}else{
data[top++]=num;
this.size++;
}
}
public void pop()//出栈
{
if(this.size==0)
{
System.out.println("error");
}else{
System.out.println(data[--top]);
this.size--;
}
}
public void top()//栈顶
{
if(this.size==0)
{
System.out.println("error");
}else{
System.out.println(data[top-1]);
}
}
}
