API里面的Queue和Stack可以分别实现队列和堆栈。如果不用这两个API,要自己写一个怎么写呢?求教啊!看了网上的好多思路都想不明白,求指点代码。谢谢啦。

解决方案 »

  1.   

    可以用array, 也可以用LINKEDLIST
      

  2.   

    呵呵,一个先进先出,一个先进后出。理解了这个不就很好些了吗?
    就比如说用数组来实现吧。假如push的时候i都是从小往大写,pop的时间时候队列i从小往大拿,栈从大往小拿。另外,有现成的为什么不用呢
      

  3.   

    如果你使用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));
       }
    }
    就写了一个插入  没开编译器 不知道对不对  理解一下思想就好