JAVA 內部類 泛型 實現堆棧

jopen 10年前發布 | 22K 次閱讀 Java Java開發

堆棧類:

package c15;


public class LinkedStack<T> {

       private static class Node<T> {

            T item ;

            Node<T> next ;

            Node(){

                   item null ;

                   next null ;

            }

            Node (T item ,Node<T> next ){

                   this .item item;

                   this .next next;

            }

             boolean end() { return item == null && next == null ; }

      }

       private Node<T> top new Node<T>();

       public void push(T item){

             top new Node<T>( item, top);

      }

      

       public T pop(){

            Node<T> resultNode top ;

             if (!top .end()){

                   top top .next ;

            }

             return resultNode .item ;

      }

       public static void main(String[] args){

            LinkedStack<Integer> sLinkedStack new LinkedStack<Integer>();

             for (int i = 0; i < 10; i++) {

                   sLinkedStack .push(i );

            }

            System. out .println(sLinkedStack .pop());

      }

}

 

NOTE:

堆棧類設計思路:

1.使用內部類分離了結構邏輯和操作邏輯。

2.堆棧的結構特點是只能知道頂部的成員信息,每次新添加的成員都會處于堆棧的頂部,每次刪除成員

都會在堆棧頂部刪除。

3.堆棧結構可以簡單的分為兩部分,一個是頂部成員的內容,另一個是指向頂部以下的壓頂部成員的指針。

4.堆棧結構必須要提供一個知道何時所有成員已經全部清除的方法。

 

操作的設計思路:

1.需要一個空類內容在實例化的時候填充到底部。

2.一個push():添加新成員到頂部,一個pop():把頂部成員刪除

 

important:

堆棧的下一個的意思一般都是指該成員的前一個成員,因為在堆棧的角度來說,他自己永遠都不會自到自己后面的成員是誰。每一個成員都只會知道自己的前面是誰。

 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!