构造一个单链表类
public class Node<V>{
private V value;
private Node<V> next;
public Node(V v){
value = v;
next = null;
}
}
构造自己的栈
public class MyStack<V> {
private Node<V> head;
private int size;
public Mystack(){
head = null;
size= 0;
}
}
栈的相关方法
//查看栈中元素数量
public int size(){
return size;
}
//检查栈是否为空
public boolean isEmpty(){
return size == 0;
}
//压栈
public void push(V v){
Node current= new Node(v);
if(head == null){
head = current;
}else {
node.next = head;
head = current;
}
}
//出栈
public V pop(){
V result = null;
if(head != null){
result = head.value;
head = head.next;
size--;
}
return result;
}
//查找
public V peek(){
return head == null?null:head.value;
}
测试:
public static void main(String[]args){
MyStack mystatck = new Mystack();
mystack.push(1);
mystack.push(2);
System.out.println(mystack.size());
System.out.println(mystack.peek());
}