程序小白,希望和大家多交流,共同学习
import java.util.Scanner;
public class SimpleLinkedStack{
//数据节点
private static class MyNode{
private int element;
private MyNode next;
public MyNode(){
}
public MyNode(int element){
this.element = element;
}
}
private MyNode head;
public SimpleLinkedStack(){
head = new MyNode();
head = null;
}
public MyNode getHead(){
return head;
}
public int push(int e){
if (isFull()){
System.out.println("此栈已满");
return -1;
}
MyNode node = new MyNode();
node.element = e;
node.next = head;
head = node;
return 0;
}
public int getTop(){
if (isEmpty()){
System.out.println("此栈已空,没有栈顶元素");
return -1;
}
else
return head.element;
}
public int pop(){
if (isEmpty()){
System.out.println("此栈已空");
return -1;
}
int data = head.element;
head = head.next;
return data;
}
public boolean isEmpty(){
return head == null;
}
public boolean isFull(){
MyNode newNode = new MyNode();
if (newNode == null){
return true;
}
else
return false;
}
public static void main(String[] args){
Scanner input = new Scanner(System.in);
SimpleLinkedStack linkedStack = new SimpleLinkedStack();
int num;
System.out.println("输入元素入栈:");
while (true){
num = input.nextInt();
if (num == -1){
break;
}
else{
linkedStack.push(num);
}
}
MyNode head = linkedStack.getHead();
while (head != null){
System.out.print(head.element + " ");
head = head.next;
}
System.out.println();
}
}