C에서 표준 템플릿 라이브러리는 배열의 요소를 효율적으로 정렬하기 위해 std::sort() 함수를 제공합니다. . int v[2000]으로 선언된 배열의 경우 다음 코드 조각은 std::sort()를 사용하여 이를 달성하는 방법을 보여줍니다.
<code class="cpp">#include <algorithm> int main() { int v[2000]; std::sort(std::begin(v), std::end(v)); }</code>
그러나 std::begin() 및 std: :end() C 0x/11에 도입된 함수는 이 접근 방식에 필수적입니다. 이러한 함수는 배열을 포함하여 특정 컨테이너의 시작과 끝을 나타내는 반복자를 반환합니다.
C 0x에 액세스할 수 없는 경우 다음 함수를 직접 정의할 수 있습니다.
비상수 컨테이너에 대한 함수 시작:
<code class="cpp">template<class Cont> typename Cont::iterator begin(Cont& c) { return c.begin(); }</code>
비상수 컨테이너에 대한 함수 종료:
<code class="cpp">template<class Cont> typename Cont::iterator end(Cont& c) { return c.end(); }</code>
에 대한 함수 시작 const 컨테이너:
<code class="cpp">template<class Cont> typename Cont::const_iterator begin(Cont const& c) { return c.begin(); }</code>
const 컨테이너에 대한 종료 함수:
<code class="cpp">template<class Cont> typename Cont::const_iterator end(Cont const& c) { return c.end(); }</code>
C 스타일 배열에 대한 오버로드:
<code class="cpp">template<class T, std::size_t N> T* begin(T (&arr)[N]) { return &arr[0]; } template<class T, std::size_t N> T* end(T (&arr)[N]) { return arr + N; }</code>
이러한 함수를 사용하면 C에서 std::sort()를 사용하여 배열을 원활하게 정렬할 수 있습니다.
위 내용은 방법: C에서 std::sort를 사용하여 배열 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!