nodestack-nodestack.html

来自「经典的数据结构源代码(java 实现)」· HTML 代码 · 共 42 行

HTML
42
字号
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre><font color=#8000a0>public</font> <font color=#8000a0><font color=#ff8000>class</font> </font>NodeStack&lt;E&gt; <font color=#8000a0><font color=#ff8000>implements</font> </font>Stack&lt;E&gt; {  <font color=#8000a0><font color=#8000a0>protected</font> </font>Node&lt;E&gt; top;	<font color=#ff0080>// reference to the head node</font>  <font color=#8000a0><font color=#8000a0>protected</font> </font><font color=#8000a0>int</font> size;		<font color=#ff0080>// number of elements in the stack</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#0000ff>NodeStack</font>() {	<font color=#ff0080>// constructs an empty stack</font>    top = null;    size = 0;  }  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>int</font> <font color=#0000ff>size</font>() { <font color=#8000a0><font color=#ff8000>return</font> </font>size; }  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>boolean</font> <font color=#0000ff>isEmpty</font>() {    <font color=#ff8000>if</font><font color=#0000ff> </font>(top == null) <font color=#8000a0><font color=#ff8000>return</font> </font>true;    <font color=#8000a0><font color=#ff8000>return</font> </font>false;  }  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>void</font> <font color=#0000ff>push</font>(E elem) {    Node&lt;E&gt; v = <font color=#8000a0><font color=#ff8000>new</font> </font>Node&lt;E&gt;<font color=#0000ff></font>(elem, top);	<font color=#ff0080>// create and link-in a new node</font>    top = v;    size++;  }  <font color=#8000a0><font color=#8000a0>public</font> </font>E <font color=#0000ff>top</font>() <font color=#8000a0><font color=#ff8000>throws</font> </font>EmptyStackException {    <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>isEmpty</font>()) <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>EmptyStackException</font>(<font color=#008000>"Stack is empty."</font>);    <font color=#8000a0><font color=#ff8000>return</font> </font>top.<font color=#0000ff>getElement</font>();  }  <font color=#8000a0><font color=#8000a0>public</font> </font>E <font color=#0000ff>pop</font>() <font color=#8000a0><font color=#ff8000>throws</font> </font>EmptyStackException {    <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>isEmpty</font>()) <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>EmptyStackException</font>(<font color=#008000>"Stack is empty."</font>);    <font color=#8000a0>E </font>temp = top.<font color=#0000ff>getElement</font>();    top = top.<font color=#0000ff>getNext</font>();	<font color=#ff0080>// link-out the former top node</font>    size--;    <font color=#8000a0><font color=#ff8000>return</font> </font>temp;  }}</dl></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?