Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengisih Tatasusunan Menggunakan std::sort dalam C ?

Bagaimana Mengisih Tatasusunan Menggunakan std::sort dalam C ?

Patricia Arquette
Patricia Arquetteasal
2024-10-23 21:30:02837semak imbas

How to Sort Arrays Using std::sort in C  ?

Isih Tatasusunan dengan std::isih dalam C

Untuk mengisih tatasusunan yang diisytiharkan sebagai int v[2000]; menggunakan fungsi std::sort, cukup sediakan iterator permulaan dan akhir tatasusunan. Dalam C 0x/11, ini boleh dicapai dengan fungsi std::begin dan std::end yang terlebih beban untuk tatasusunan:

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

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

Jika anda tidak mempunyai akses kepada C 0x, anda boleh laksanakan sendiri fungsi ini:

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

template<class Cont>
typename Cont::iterator end(Cont& 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 Mengisih Tatasusunan Menggunakan std::sort 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