//将一个四元素数组转换成相应的状态四元组,把四个排队长度转换成一个状态(os1/os2/os3/os4) public static OState[] IntArrToOStableArr(int[] IntArr, int Num) { OState[] S = new OState[Num]; int i = 0; foreach (int j in IntArr) { S[i++] = IntToOState(j); } return(S); }
//将一个四元素数组转换成相应的状态四元组,把四个排队长度转换成一个状态(os1/os2/os3/os4) public static OState[] IntArrToOStableArr(int[] IntArr, int Num) { OState[] S = new OState[Num]; int i = 0; foreach (int j in IntArr) { S[i++] = IntToOState(j); } return S; }
//求一个状态四元组是状态List中的第几个元素 public static int IndexOfState(OState[] S) { int MyIndex = 0; foreach (OState k in S) { MyIndex = MyIndex * OStateLength + (int)k; } return MyIndex; }