package Stack;
import Queue.MyQue;
/**
* @author 真他喵的学不动咯
* @create 2022-08-10--20:49
*/
public class MyStack { //实现栈结构
//构造节点
public class Node<V>{
//属性
public V value; //单链表的栈只需要一个结点
public MyQue.Node next;
//构造器
public Node(V data){
value=data;
}
}
public class uStack<V>{
//属性
private Node<V> head;
private int size;
//构造器
public uStack(){
head=null;
size=0;
}
//方法
public boolean isEmpty(){
return size==0;
}
public int size(){
return size=0;
}
//入栈
public void push(V value){
Node<V> cur=new Node<>(value);
if (head==null){ //如果一个结点也没有,那就是head
head=cur;
}
else {
cur.next=head; //指针指向老头
head=cur; //老头变新头??? 没懂!day04 00''55''16
}
size++;
}
//弹出
public V pop(){
V ans=null;
if (head!=null){
ans=head.value;
head=head.next;
size--;
}
return ans; //想返回的是值
}
//不弹出,只获取头部的值
public V peak(){
return head!=null? head.value:null;
}
}
}
//实现栈结构 这个有好多没看懂 也缺对数器
最新推荐文章于 2024-10-06 20:16:20 发布