estándar::avanzar en C++

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/*
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *