GUID 목록을 (TGuid와 같이) 정렬하는 좋은 방법은 무엇입니까? 난 그냥 SysUtils.CompareMem (P1, P2 : 포인터, 길이 : 정수) : 부울; 내가 부울을 반환 할 때까지.GUID로 정렬 할 수 있도록 GUID를 비교할 수 있습니다.
정수를 반환하는 CompareText() 또는 CompareValue()와 비교할 수있는 것이 있으면 정렬 비교에 사용할 수 있기를 바랍니다.
많은 사람들이 GUID를 정렬하고 싶지는 않습니까? 어떤 아이디어입니까?
저는 TGuid 레코드의 내용에 대해 CompareValue()에 계단식 호출을 호출 할 수 있다고 가정합니다. 내 본능은 더 좋은 방법이 있어야한다고 말해 줬어!
감사합니다.
왜 GUID별로 정렬하려고하는지 묻습니다. –
Microsoft GUID (나는 당신이 말하는 것을 가정합니다)는 생성 시간에 따라 정렬됩니다. 이것은 매우 흥미로운 속성입니다. 동일한 머신에 속한 GUID의 경우 생성 시간별로 오더를 생성해야합니다. 또는 네트워크의 시스템이 잘 동기화되어 있다면이 방법으로 사용할 수 있습니다. 이것은 비 타임 스탬프 요소가 정렬에 사용되지 않는다는 것을 의미합니다. –
Mike C. - 정렬 순서는 일반적인 알고리즘과 컬렉션에 매우 유용합니다. 균형 잡힌 성능을 필요로하는 컬렉션을 고려해보십시오 - 균형 잡힌 트리가 적합 할지라도 임의의 정렬 순서가 필요합니다. –