スタックとキューリストとJava実装

スタック

  これは、コレクション型LIFO(LIFO)ポリシーに基づいています。メッセージは、スタック内のテーブルの上に置いた場合、スタックが使用されています。新しいメッセージはメッセージを見たときに、上から下への読み取りが1になり、一番上にあります。スタックのトップは、すべての操作は、スタックの先頭で行われ、スタックの最上部と呼ばれています。

  新しいメッセージが先に述べたように、時間を読んで、スタックのスタック(プッシュ)でスタックの先頭からスタック(ポップ)から取り出されたものです。以下のチャートのように、あなたは下から直接手紙を取得することはできません。

1つの パッケージABAB。
2  
3  / ** 
4  *链表实现栈
 5  * @param の<item>
 6   * / 
7  パブリック クラススタックの<item> {
 8  
9      プライベート最初のノード。
10      プライベート整数N = 0 11の 
12      プライベート クラスノード{
 13          商品アイテム。
14          ノードの次;
15  
16          パブリックノード(項目I){
 17              この .item = I。
18              .next = NULL ;
19          }
 20      }
 21  
22      パブリック ブールのisEmpty(){ リターン N == 0 }
 23  
24      公共 int型のサイズ(){ リターンN。}
 25  
26      / ** 
27       *进栈
 28       *
 29       * @param I
 30       * / 
31      公共 ボイドプッシュ(項目I){
 32          ノードノード= 新しいノード(I)。
33          であれば(第一== NULL){
 34は、              まず= 、ノード
 35              ++ N 36              リターン;
 37          }
 38である          ノードoldFirst = 最初;
 39          まず= ノードと、
 40          first.next = oldFirst;
 41である          ++ N 42である     }
 43は 
44である     / ** 
45       *トップ要素を取得し
 46       *
 47       * @return 
48       * / 
49      公共アイテムPEEK(){
 50          IF(第==ヌル51              リターン ヌル52          リターンfirst.item。
53      }
 54  
55      / ** 
56       *出栈
 57       *
 58       * @return 
59       * / 
60      公共アイテムポップ(){
 61          であれば(のisEmpty())
 62              リターン ヌル63          商品アイテム= first.item。
64          第一= first.next。
65          N-- ;
66          リターンアイテム。
67     }
 68  
69 }

 


キュー

  キューはFIFO(FIFO)ポリシーベース型のコレクションです。人々は最初のバスに並べることができます前に、例えば、電車に並びます。

  キューリストには二つのポインタ、最初のチームへのポインタ、テールへのポインタを持っています。新しい要素が入ると、新たな要素が尾に置かれています。あなたがチームをしたい場合には、第1のシフト後の最初のチーム、そしてチームから要素をポップ。

1つの パッケージABAB。
2  
3  / ** 
4  *链表实现队列
 5  * @param の<item>
 6   * / 
7  パブリック クラスキューの<item> {
 8  
9      プライベート最初のノード。
10      プライベートノードの最後。
11      プライベート int型 N = 0 ;
12の     プライベート クラスノード{
 13          商品アイテム。
14          ノードの次;
15          パブリックノード(項目I){
 16              この .item = I。
17              この .next = NULL ;
18          }
 19      }
 20  
21      パブリック ブールのisEmpty(){ リターン N == 0 ;};
22      パブリック・ int型サイズ(){ リターンN;}
 23  
24      / ** 
25       *入队
 26       * @paramの項目
 27       * / 
28      公共 ボイドエンキュー(商品アイテム){
 29          ノードノード= 新しいノード(アイテム)
30          ノードoldLast = 最後;
31          最後= ノード。
32          であれば(のisEmpty())
 33              第一= 最後。
34          
35              oldLast.next = 最後。
36          N ++ 37      }
 38  
39      / ** 
40       *出队
 41       * @return 
42       * / 
43      公共アイテムデキュー(){
 44          商品アイテム。
45          であれば(のisEmpty())
 46              リターン ヌル47          項目= first.item。
48          第一= first.next;
 49          N-- ;
 50          戻り項目;
 51である     }
 52が 
53である     / ** 
54れる      *プレゼント第一チーム素子
 55       * @return 
56がある      * / 
57である     パブリックアイテムPEEK(){
 58          IF (のisEmpty())
 59              リターン NULL ;
 60          戻りfirst.item;
 61である     }
 62は 
63です }

おすすめ

転載: www.cnblogs.com/ELAIRS/p/12131659.html