C에서 하위 배열의 첫 번째 항목을 기준으로 배열 배열 정렬
배열 배열이 주어지면 작업은 다음을 기준으로 배열을 정렬하는 것입니다. 각 하위 배열의 첫 번째 요소입니다. [[4, 204], [10, 39], [1, 500]]과 같은 배열을 생각해 보세요. 정렬 후에는 [[1, 500], [4, 204], [10, 39]]가 되어야 합니다.
인덱스 정렬을 사용한 접근 방식:
대신 배열을 직접 정렬하는 것보다 하위 배열을 가리키는 인덱스 배열을 정렬하는 것이 더 효율적인 방법입니다. 이렇게 하면 정렬 기능에서 원본 배열을 복잡하게 조작할 필요가 없습니다.
다음은 코드 구현 예시입니다.
#include <algorithm> #include <iostream> int main() { int index[3] = {0, 1, 2}; int timeTable[3][2] = {{4, 204}, {10, 39}, {1, 500}}; // Sort the indices based on the first item of each subarray std::sort(index, index + 3, [&](int n1, int n2) { return timeTable[n1][0] < timeTable[n2][0]; }); // Iterate over the sorted indices and access the corresponding subarrays for (int i = 0; i < 3; ++i) { std::cout << "The index is " << index[i] << ". The data at this index is ["; std::cout << timeTable[index[i]][0] << " " << timeTable[index[i]][1] << "]\n"; } return 0; }
이 스니펫에서는 인덱스 배열을 생성하고 다음을 사용하여 정렬합니다. 인덱스 n1과 n2에 있는 하위 배열의 첫 번째 요소를 비교하는 사용자 정의 정렬 기준입니다. 정렬 후에는 재정렬된 인덱스 배열을 통해 정렬된 하위 배열에 액세스할 수 있습니다.
위 내용은 C에서 각 하위 배열의 첫 번째 요소로 배열 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!