cedgelist.java

来自「经典的货郎担问题解决办法」· Java 代码 · 共 92 行

JAVA
92
字号
/*--------------------------------------------------------------------------- * Class cEdgeList -- used for storing a group of edges * * MakeNullEdge() -- makes a default edge and inserts it to the end of the list * ClearEdgeList()-- freeing up resourses * InsertBeforeHead (cEdge e) * InsertBefore (cEdge newE , cEdge oldE)  * Delete (cEdge e) * PrintEdges() -- prints to the console * */package com.well.www.user.xanthian.java.seeders;class cEdgeList {  int n;                /* number of elements: 0 means empty */  cEdge head;           /* head pointer to the beginning of the list */  cEdgeList() {    head = null;    n = 0;  }  public cEdge MakeNullEdge()  {    cEdge e = new cEdge();    InsertBeforeHead(e);    return e;  }  public void InitHead( cEdge h )  {    head = new cEdge();    head = h;    head.next = head.prev = head;    n = 1;  }  public void ClearEdgeList()  {    if (head != null)      head = null;    n = 0;  }  /*Inserts newE before oldE   */  public void InsertBeforeHead( cEdge e ) {    if ( head == null )        InitHead( e );    else {        InsertBefore ( e, head );    }  }  public void InsertBefore( cEdge newE , cEdge oldE ) {                     if ( head == null )        InitHead( newE );    else {        oldE.prev.next = newE;                  newE.prev = oldE.prev;                  newE.next = oldE;                                      oldE.prev = newE;        n++;    }  }  public void Delete( cEdge e ) {    if ( head == head.next )      head = null;    else if ( e == head )      head = head.next;    e.prev.next = e.next;    e.next.prev = e.prev;    n--;             }  public void PrintEdges() {    cEdge temp = head;    int i = 1;    if (head != null) {      do {        temp.PrintEdge(i);        temp = temp.next;        i++;      } while ( temp != head );    }  }}

⌨️ 快捷键说明

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