package JavaProject;
public class TestLinkStack {
public static void main(String [] args){
LinkStack<String>stack = new LinkStack<String>();
stack.pop();
stack.push("aaaaa");
stack.push("bbbb");
System.out.println("此时栈顶元素是:" + stack.top());
stack.pop();
System.out.println("执行pop之后的栈顶元素" + stack.top());
System.out.println("栈内元素的个数为" + stack.length());
stack.clear();
System.out.println("clear后栈内元素的个数为" + stack.length());
}
}
class LinkStack<T>{
public class Node{
public T data;
public Node next;
public Node(T data,Node next){
this.data = data;
this.next = next;
}
}
private Node front;
private int size;
public LinkStack(){
front = null;
size = 0;
}
public void clear(){
front = null;
size = 0;
}
public int length(){
return size;
}
public boolean empty(){
return size == 0;
}
public void push(T element){
if(empty() == true){
front = new Node(element,null);
}
else{
Node newNode = new Node(element,null);
newNode.next = front;
front = newNode;
}
size++;
}
public T top(){
return front.data;
}
public T pop(){
if(empty() == true){
System.out.println("栈已空");
return null;
}else{
Node del = front;
front = del.next;
del.next = null;
size--;
return del.data;
}
}
}
Java数据结构之链式栈
最新推荐文章于 2022-04-05 21:57:13 发布