如果你使用list接口的实现类来实现 简单多了 List l; 出栈 l.get(0) l.remove(0) 入栈 l.add(0,xxx);队列相似就不说了 如果不用 list的实现类 需要重新定义一个新的类 //就不做封装了 用的时候记得封装 class Node<E> { E d; Node next; } class MyList<E> { Node head = new Node<E>(); //采用的头插法 public void add(int num,E e) { Node p = head.getNext(); for( int i = 0 ; i < num ; i ++ ) { p = p.getNext(); } p.setNext(new Node(e)); } } 就写了一个插入 没开编译器 不知道对不对 理解一下思想就好
就比如说用数组来实现吧。假如push的时候i都是从小往大写,pop的时间时候队列i从小往大拿,栈从大往小拿。另外,有现成的为什么不用呢
List l;
出栈
l.get(0)
l.remove(0)
入栈
l.add(0,xxx);队列相似就不说了
如果不用 list的实现类 需要重新定义一个新的类
//就不做封装了 用的时候记得封装
class Node<E>
{
E d;
Node next;
}
class MyList<E>
{
Node head = new Node<E>();
//采用的头插法
public void add(int num,E e)
{
Node p = head.getNext();
for( int i = 0 ; i < num ; i ++ )
{
p = p.getNext();
}
p.setNext(new Node(e));
}
}
就写了一个插入 没开编译器 不知道对不对 理解一下思想就好