_SwapOrderToPermuteArray 함수

경고

이 설명서는 최신 QDK로 대체된 클래식 QDK를 참조합니다.

최신 QDK에 대한 API 설명서는 를 참조 https://aka.ms/qdk.api 하세요.

네임스페이스: 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]]
    }
}