ringtopology.java

来自「pso源程序」· Java 代码 · 共 46 行

JAVA
46
字号
/**
 * Description: The RandRing connection topology
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Feb 08, 2007
 */

package maosKernel.topology;

import Global.basic.data.collection.*;
import Global.methods.*;
import Global.basic.nodes.utilities.*;

public class RingTopology extends AbsCycleTopology {
  private int[] connectedIDsArray;
  private int[] tempIDsArray;
  private IArray tempArray = new IArray(1);

  public RingTopology() {
  }

  protected void initInternalMemory(int nodeNumber) {
    tempIDsArray = new int[nodeNumber];
    connectedIDsArray = new int[nodeNumber];
  }

  public void initUtilities() {
    super.initUtilities();
    initUtility(new IntegerUtility("intervalCycle", 1));
  }

  public IBasicICollectionEngine getConnectedNodeIDsAt(int nodeID) {
    tempArray.clear();
    tempArray.addElement(connectedIDsArray[nodeID]);
    return tempArray;
  }

  public void innerInitTopology() {
    RandomGenerator.randomDistinctSelection(tempIDsArray);
    int nodeNumber = getNodeNumber();
    for (int i=0; i<nodeNumber; i++) {
      connectedIDsArray[tempIDsArray[i]] = tempIDsArray[(i+1)%nodeNumber];
    }
  }
}

⌨️ 快捷键说明

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