这是一道很常见的面试题 不用Java的内置的Array、List、Set去完成
public class Stack<V> {
//模拟队列
private class Queue {
public V v;
public Queue next;
}
//栈顶
private Queue sp;
//长度
private long length;
//入栈
public void push(V v) {
Queue q = new Queue();
q.v = v;
if (sp == null) {
sp = q;
}else {
q.next = sp;
sp = q;
}
length ++;
}
//出栈
public V poll() throws Exception {
if (sp == null) {
throw new Exception("空栈");
}else {
Queue q= sp;
sp = q.next;
length--;
return r.v;
}
}
public long getLength() {
return length;
}
}
本文介绍了一个不使用Java内置集合类的手写栈实现方法。通过自定义Queue内部类来模拟栈的入栈(push)和出栈(poll)操作,并提供了获取栈长度的方法。

被折叠的 条评论
为什么被折叠?



