Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menggunakan std::sort untuk Array Sorting dalam C ?

Bagaimana Menggunakan std::sort untuk Array Sorting dalam C ?

DDD
DDDasal
2024-10-23 19:01:31493semak imbas

How to Use std::sort for Array Sorting in C  ?

Cara Menggunakan std::sort untuk Array Sorting dalam C

Isih tatasusunan menggunakan pustaka templat standard C std::sort function boleh dilakukan seperti berikut:

<code class="cpp">int main() {
  int v[2000];
  std::sort(v, v + 2000);  // Sort the array
}</code>

Walau bagaimanapun, C 0x/11 memperkenalkan fungsi std::begin dan std::end, memudahkan proses:

<code class="cpp">#include <algorithm>

int main() {
  int v[2000];
  std::sort(std::begin(v), std::end(v));  // Sort the array
}</code>

Jika std:: begin dan std::end tidak tersedia, ia boleh ditakrifkan sebagai:

<code class="cpp">// Non-const version
template<class Cont>
typename Cont::iterator begin(Cont& c) {
  return c.begin();
}

template<class Cont>
typename Cont::iterator end(Cont& c) {
  return c.end();
}

// Const version
template<class Cont>
typename Cont::const_iterator begin(Cont const& c) {
  return c.begin();
}

template<class Cont>
typename Cont::const_iterator end(Cont const& c) {
  return c.end();
}

// Overloads for C-style arrays
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>

Atas ialah kandungan terperinci Bagaimana Menggunakan std::sort untuk Array Sorting dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn