毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

java怎么把一个单链表倒序输出

更新时间:2013-3-8:  来源:毕业论文

java怎么把一个单链表倒序输出
就是12345变成54321不能重建一个链表或者堆栈什么的。。。求代码
单向链表的话,不借助其他的链表或其他的存储区只能是单向的输出,因为只有知道上一个节点才能找到先一个节点。如果双向链表直接可以逆序输出。毕业论文 

package link; /**  * 节点对象不用我写注释了吧  * @author   * 创建时间:2011-4-1 上午10:15:18  * 类说明:  */public class Node {       private int value = -1;           private Node next = null;           public Node(int value){         this.value = value;     }       public int getValue() {         return value;     }       public void setValue(int value) {         this.value = value;     }       public Node getNext() {         return next;     }       public void setNext(Node next) {         this.next = next;     }       @Override    public String toString() {         return "Node [value=" + value + "]";     }       }

package link; /**  * 链表类,注释我都加了  * @author   * 创建时间:2011-4-1 上午10:16:46  * 类说明:  */public class NodeList {       private Node head = null;           public Node getHead(){         return this.head;     }           /**      * 对外公布的添加节点的方法      * @param node      */    public void addNode(Node node){         if(this.head == null){             /**              * 如果头节点是空,就把要加的节点给头节点              */            this.head = node;         }else{             /**              * 否则把这个节点加到头节点后面的节点上              */            this.addSubNode(this.head, node);         }     }           /**      * 反向输出节点元素      */    public void reversePrint(){         int size = this.getSize(0, this.head);                   for(int index = size; index > 0; index--){             System.out.println(this.getNode(index));         }               }           /**      * 给一个节点加子节点的方法      * @param destNode      * @param node      */    private void addSubNode(Node destNode, Node node){         if(destNode.getNext() == null){             /**              * 如果这个节点没有子节点则把新节点设置为这个节点的子节点              */            destNode.setNext(node);         }else{             /**              * 否则把新节点加到这个节点的子节点的后面              */            this.addSubNode(destNode.getNext(), node);         }    毕业论文  }           /**      * 得到下标对应的节点对象      * @param index      * @return      */    private Node getNode(int index){                   int start = 1;         Node currentNode = this.head;         while(start < index){             currentNode = currentNode.getNext();             start++;         }                   return currentNode;     }     /**      * 计算链表里节点个数的方法      * @param size      * @param currentNode      * @return      */    private int getSize(int size, Node currentNode){         if(currentNode.getNext() == null){             return ++size;         }else{             return getSize(++size, currentNode.getNext());         }     } }

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。