std::advance avanza el iterador ‘it’ en n posiciones de elementos. Sintaxis:
template void advance (InputIterator& it, Distance n); it : Iterator to be advanced n : Number of element positions to advance. This shall only be negative for random-access and bidirectional iterators. Return type : None.
Problema de motivación: Se da un vector contenedor. La tarea es imprimir elementos alternativos. Ejemplos:
Input : 10 40 20 50 80 70 Output : 10 20 80
CPP
// C++ program to illustrate // using std::advance #include <bits/stdc++.h> // Driver code int main() { // Vector container std::vector<int> vec; // Initialising vector for (int i = 0; i < 10; i++) vec.push_back(i * 10); // Printing the vector elements for (int i = 0; i < 10; i++) { std::cout << vec[i] << " "; } std::cout << std::endl; // Declaring the vector iterator std::vector<int>::iterator it = vec.begin(); // Printing alternate elements while (it < vec.end()) { std::cout << *it << " "; std::advance(it, 2); } }
Producción:
0 10 20 30 40 50 60 70 80 90 0 20 40 60 80
C++
#include <iostream> #include<bits/stdc++.h> using namespace std; int main() { vector<int >vect(10); //insert the ten element in the vector for(int i=1;i<=10;i++) { vect[i-1]=i; } //iterator pointing to first element. vector<int >::iterator it=vect.begin(); for(int i=1;i<=10;i++) { cout<<*it<<" "; it++; } vector<int >::iterator it1=vect.begin(); //here it is pointing to the 3rd element. advance(it1,2);//here second argument is the index base. cout<<endl; cout<<*it1; //print it1 pointing to the 3rd position. return 0; } /* This code is contributed by Sameer Hake/*
1 2 3 4 5 6 7 8 9 10 3
Este artículo es una contribución de Rohit Thapliyal, Sameer Hake . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA