stl이나 Qt에서 double 배열을 정렬하고 정렬 된 항목의 인덱스를 원래 목록에 반환하는 알고리즘인지 궁금합니다. 예 : L = 1, 2, 5, 3 L_sort = 1, 2, 3, 5 개 지수 = 1, 2, 4, 그래서 이후 AnotherList는 [지수 (동일한 순서가 모두 우선 계산할 수 3Qt/C++로 알고리즘 정렬하기 - 구조체의 QList 정렬하기
목록, 원래 목록 L).
결국 나는 QList를 만들려고 생각했다. 각 MyStruct는 L에있는 요소와 동일한 유형 LType 중 하나와 AnotherList의 AnotherType 중 하나 인 AnotherList의 두 멤버를 포함한다. 그런 다음 LType 유형의 멤버와 관련하여 정렬합니다. 그러나 나는이 아이디어를 가지고 있으며 Qt를 어떻게 진행할 지 제대로 알지 못합니다.
QList<QPair<LType,int> > array;
for (int i = 0; i < 100; i++)
{
LType x = ...
array.append(qMakePair(x,i));
}
// Ordering ascending
qSort(array.begin(), array.end(), QPairFirstComparer());
.....
// Restoring start order
qSort(array.begin(), array.end(), QPairSecondComparer());
감사와 안부
는
나는 이것에 사용을 생각하지 않는다 !! –