>백엔드 개발 >C++ >방법: C에서 std::sort를 사용하여 배열 정렬

방법: C에서 std::sort를 사용하여 배열 정렬

Barbara Streisand
Barbara Streisand원래의
2024-10-23 21:00:02920검색

How to: Sort an Array Using std::sort in C

C에서 std::sort를 사용하여 배열 정렬

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.