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 + -
显示快捷键?