パブリック クラス ReversStack <T> { クラスノード<U> { プライベート U itemValue。// 结点的值 プライベートノード<U> nextItem。// 下一个节点地址 ノード(){ itemValue = NULL ; nextItem = nullを。 } パブリックノード(U itemValue、ノード<U> nextItem){ この .itemValue = itemValue。 この .nextItem = nextItem。 } ブール端(){ リターンitemValue == nullの && nextItem == nullを。 } } プライベートノード<T>トップ= 新しいノード<>(); // 最后一个节点 // 进栈 公共 ボイドプット(T itemValue){ トップ = 新しいノード<T> (itemValue、上)。 } // 出栈 パブリックTポップ(){ T結果 = top.itemValue。 もし(!top.end()){ トップ = top.nextItem。 } 戻り値の結果; } パブリック 静的 ボイドメイン(文字列[]引数){ ReversStackの<string> RS = 新しい ReversStackの<string> (); rs.put( "TST1" ); rs.put( "TST2" ); rs.put( "TST3" ); System.out.println(rs.pop())。 System.out.println(rs.pop())。 System.out.println(rs.pop())。 } }