home *** CD-ROM | disk | FTP | other *** search
/ Internet 1996 World Exposition / park.org.s3.amazonaws.com.7z / park.org.s3.amazonaws.com / Japan / NTT / DM- / hotjava / classes / src / IDChain.jpp < prev    next >
Encoding:
Text File  |  2017-09-21  |  1.4 KB  |  71 lines

  1. class IDChain {
  2.     IDChain    next = null;
  3.     int        id;
  4.     long    time;
  5.     int        depth;
  6.  
  7. public IDChain() {    // sentinel
  8.     id = -1;
  9.     time = -1;
  10.     depth = -1;
  11. }
  12.  
  13. public IDChain(int i, long tim, int d){
  14.     id = i;
  15.     time = tim;
  16.     depth = d;
  17. }
  18.  
  19. public void setNext(IDChain nxt){next = nxt;}
  20. public void setID(int i)    {id = i;}
  21. public void setTime(long tim)    {time = tim;}
  22. public void setDepth(int d)    {depth = d;}
  23.  
  24. public IDChain    getNext()    {return next;}
  25. public int    getID()        {return id;}
  26. public long    getTime()    {return time;}
  27. public long    getDepth()    {return depth;}
  28.  
  29. public void insert(IDChain idc) {    // insert idc after this
  30.     if (next != null) {
  31.     idc.setNext(next);
  32.     }
  33.     next = idc;
  34. }
  35.  
  36. public void insertByTime(IDChain idc) {    // insert idc by Time order
  37.     IDChain p = this;
  38.     
  39.     for (p = this; p.getNext() != null; p = p.getNext()) {
  40.     if (p.getNext().getTime() >= idc.getTime()) {
  41.         idc.setNext(p.getNext());
  42.         p.setNext(idc);
  43.         return;
  44.     }
  45.     }
  46.     p.setNext(idc);    
  47. }
  48.  
  49. public void insertByDepth(IDChain idc) {    // insert idc by depth order
  50.     IDChain p = this;
  51.     
  52.     for (p = this; p.getNext() != null; p = p.getNext()) {
  53.     if (p.getNext().getDepth() >= idc.getDepth()) {
  54.         idc.setNext(p.getNext());
  55.         p.setNext(idc);
  56.         return;
  57.     }
  58.     }
  59.     p.setNext(idc);    
  60. }
  61.  
  62. public void remove() {            // remove next element
  63.     if (next == null) {
  64.     return;
  65.     }
  66.     next = next.getNext();
  67. }
  68.  
  69. }
  70.  
  71.