_SwapOrderToPermuteArray 함수
네임스페이스: Microsoft.Quantum.Arrays
패키지: Microsoft.Quantum.Standard
정렬된 배열을 생성하기 위해 교환해야 하는 배열의 순서 요소를 반환합니다. 교환이 제자리에 있다고 가정합니다.
function _SwapOrderToPermuteArray (newOrder : Int[]) : (Int, Int)[]
입력
newOrder: Int[]
새 배열의 인덱스의 순열이 있는 배열입니다. 각각 $0$에서 $n-1$로 고유한 정수인 $n$ 요소가 있어야 합니다.
출력: (Int,Int)[]
튜플은 교환할 두 인덱스를 나타냅니다. 스왑은 가장 낮은 인덱스에서 시작됩니다.
예제
// The following returns [(0, 5),(0, 4),(0, 1),(0, 3)];
let swapOrder = _SwapOrderToPermuteArray([5, 3, 2, 0, 1, 4]);
설명
의사
for index in 0..Length(newOrder) - 1 {
while newOrder[index] != index {
Switch newOrder[index] with newOrder[newOrder[index]]
}
}