スタック
これは、コレクション型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です }