code: private void enQueueCurNodeEdges(CQueue queWork, int nCurNode)
      {
          int nPreNode;
          double eWeight;
          List<EdgeFrom> pEdgeToList;
  
          queWork.clear();
          pEdgeToList = graph.getEdgeListTo(nCurNode);
  
          // Get all the edgesFrom
          for (EdgeFrom e : pEdgeToList)
          {
              nPreNode = e.from;
              eWeight = e.weight;
  
              for (int i = 0; i < N; i++)
              {
                  // 第一个结点，没有PreNode，直接加入队列
                  if (nPreNode == 0)
                  {
                      queWork.enQueue(new QueueElement(nPreNode, i, eWeight));
                      break;
                  }
  
                  // 如果PreNode的Weight == INFINITE_VALUE，则没有必要继续下去了
                  if (weightArray[nPreNode - 1][i] == Double.MAX_VALUE)
                      break;
  
                  queWork.enQueue(new QueueElement(nPreNode, i, eWeight + weightArray[nPreNode - 1][i]));
              }
          }
      }
docs: 将所有到当前结点（nCurNode）可能的边根据eWeight排序并压入队列
  @param queWork
  @param nCurNode