Changeset 14662 for trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/Swap3Manipulator.cs
- Timestamp:
- 02/11/17 00:27:04 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/Swap3Manipulator.cs
r14185 r14662 57 57 public static void Apply(IRandom random, Permutation permutation) { 58 58 if (permutation.Length < 3) throw new ArgumentException("Swap3Manipulator: The permutation must be at least of size 3.", "permutation"); 59 int index1, index2, index3 , temp;59 int index1, index2, index3; 60 60 61 61 do { … … 65 65 } while (index1 == index2 || index2 == index3 || index1 == index3); 66 66 67 // swap positions 1 and 2 68 temp = permutation[index1]; 69 permutation[index1] = permutation[index2]; 70 permutation[index2] = temp; 71 // swap positions 2 and 3 72 temp = permutation[index2]; 73 permutation[index2] = permutation[index3]; 74 permutation[index3] = temp; 67 permutation.Swap(index1, index2); 68 permutation.Swap(index2, index3); 75 69 } 76 70
Note: See TracChangeset
for help on using the changeset viewer.