정렬된 함수
네임스페이스: Microsoft.Quantum.Arrays
패키지: Microsoft.Quantum.Standard
배열이 지정된 경우 지정된 비교 함수를 기준으로 정렬된 해당 배열의 요소를 반환합니다.
function Sorted<'T> (comparison : (('T, 'T) -> Bool), array : 'T[]) : 'T[]
입력
비교 : ('T,'T) ->Bool
가 인 경우 comparison(a, b)
보다 작거나 같은 것으로 간주되는 두 요소를 a
비교하는 b
함수입니다true
.
array: 'T[]
정렬할 배열입니다.
출력: 'T[]
와 동일한 요소를 array
포함하는 배열입니다. 따라서 요소 b
comparison(a, b)
보다 일찍 발생하는 모든 요소 a
에 대해 는 입니다true
.
형식 매개 변수
T
각 요소의 형식입니다 array
.
예제
다음 코드 조각은 오름차순으로 발생하도록 정수 배열을 정렬합니다.
let sortedArray = Sorted(LessThanOrEqualI, [3, 17, 11, -201, -11]);
설명
함수 comparison
는 전이적인 것으로 간주됩니다. 이 경우 comparison(a, b)
및 comparison(b, c)
comparison(a, c)
가 가정됩니다. 이 속성이 없으면 이 함수의 출력이 올바르지 않을 수 있습니다.
함수이므로 두 요소가 에서 comparison
같음으로 간주되더라도 결과는 완전히 결정적입니다. 즉, 와 comparison(b, a)
가 모두 true
인 경우 comparison(a, b)
입니다.
특히 이 함수에 의해 수행되는 정렬은 안정적인 것으로 보장되므로 두 요소가 a
내에서 해당 순서로 발생하고 에서 같은 a
comparison
것으로 간주되면 출력에도 앞에 b
표시됩니다.array
b
예:
function LastDigitLessThanOrEqual(left : Int, right : Int) : Bool {
return LessThanOrEqualI(
left % 10, right % 10
);
}
function SortedByLastDigit() : Int[] {
return Sorted(LastDigitLessThanOrEqual, [3, 37, 11, 17]);
}
// returns [11, 3, 37, 17].