C++ Advance Reverse Iterator

3 min read Jul 05, 2024
C++ Advance Reverse Iterator

C++ Advance Reverse Iterator

Reverse iterator adalah iterator yang mengizinkan Anda untuk melakukan iterasi melalui kontainer dalam urutan terbalik. Reverse iterator biasanya digunakan untuk menelusuri elemen kontainer dari akhir ke awal.

Pengertian Advance Reverse Iterator

std::advance() adalah fungsi template yang digunakan untuk menggeser iterator sejumlah langkah. Fungsi ini menerima dua argumen: iterator dan jumlah langkah yang ingin Anda geser.

Contoh penggunaan Advance Reverse Iterator

Berikut adalah contoh bagaimana menggunakan std::advance() dengan reverse iterator:

#include 
#include 
#include 

int main() {
  std::vector myVector = {1, 2, 3, 4, 5};

  // Mendapatkan reverse iterator ke akhir vektor
  std::vector::reverse_iterator rit = myVector.rbegin();

  // Menggeser iterator dua langkah maju
  std::advance(rit, 2);

  // Mencetak nilai yang ditunjuk oleh iterator
  std::cout << *rit << std::endl; // Output: 4

  return 0;
}

Dalam contoh ini, kita membuat sebuah vektor myVector yang berisi angka 1 sampai 5. Kemudian, kita mendapatkan reverse iterator ke awal vektor menggunakan myVector.rbegin(). Setelah itu, kita menggeser iterator dua langkah maju menggunakan std::advance(rit, 2). Akhirnya, kita mencetak nilai yang ditunjuk oleh iterator, yang akan menjadi angka 4.

Perbedaan Advance Reverse Iterator dan Iterator Biasa

Ketika menggunakan std::advance() dengan iterator biasa, iterator tersebut akan digeser ke depan. Namun, ketika menggunakannya dengan reverse iterator, iterator tersebut akan digeser ke belakang.

Keuntungan Menggunakan Advance Reverse Iterator

  • Efisien: std::advance() adalah cara yang efisien untuk menggeser iterator sejumlah langkah.
  • Mudah Dibaca: std::advance() membuat kode Anda lebih mudah dibaca dan dipahami.
  • Dapat Digunakan dengan Berbagai Jenis Kontainer: std::advance() dapat digunakan dengan berbagai jenis kontainer, seperti vektor, list, dan set.

Kesimpulan

std::advance() adalah fungsi yang berguna untuk menggeser iterator sejumlah langkah. Ini adalah cara yang efisien dan mudah dibaca untuk bekerja dengan iterator, baik iterator biasa maupun reverse iterator.

Featured Posts