Itererer gjennom en C ++ vektor ved hjelp av en 'for' -sløyfe

Itererer gjennom en C ++ vektor ved hjelp av en 'for' -sløyfe
EN vektor er en essensiell datastruktur i programmeringsspråket C ++. Det er en containerklasse som lagrer elementer sammenhengende i minnet, noe som gjør det effektivt og enkelt å iterere over. Denne artikkelen demonstrerer hvordan du bruker en for sløyfe å gjentatte ganger iterere gjennom en vektor.

Itererer over en C ++ vektor via 'for' loop

EN for sløyfe er en sløyfekonstruksjon i C ++ som lar deg gjenta en kodeblokk så mange ganger som du spesifiserer. EN for sløyfe er ofte vant til itererer gjennom en vektor, Siden det lett kan gjentas et bestemt antall ganger.

Til itererer langs en C ++ vektor Via for sløyfe, Du må definere vektoren og dens elementer. Vektorer er definert ved hjelp av Bibliotek, og de kan lagre alle typer data eller objekt, fra primitive datatyper til komplekse objekter. Du må da spesifisere hvor mange elementer vektor inneholder, og hvilken datatype hvert element er.

Det er flere metoder for å iterere gjennom en C ++ vektor i en for sløyfe, som er som følger:

  • Ved hjelp av indeksering
  • Bruke referansepeker
  • Ved hjelp av iterator
  • Bruke auto nøkkelord

1: itererer over en C ++ -vektor ved hjelp av sløyfe og indeksering

Vi sløyfe over vektor ved hjelp av indeksering den hyppigst. Med programmeringsspråket C ++ må vi vite lengden på vektor å iterere over det.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor vect = 23,53,2,3,25,54;
for (int x = 0; x < vect.size(); x++)
cout << vect[x] << " ";

retur 0;

I koden ovenfor konstruerer vi først et heltall vektor kalt Vekt og gi det noen startverdier. De vektor blir deretter iterert gjennom å bruke en for sløyfe. Sløyfen utfører hvert element i vektoren siden den går fra x = 0 til Vekt.størrelse(). Vi får tilgang til hvert element inne i løkken ved hjelp av abonnementsoperatøren [] og skriver det ut til konsollen ved hjelp av cout.

Produksjon

2: itererer over en C ++ -vektor ved hjelp av for loop og referansepeker

Når itering over en vektor ved hjelp av en for sløyfe- og referansekonkurranse, brukes en sløyfe for å få tilgang til hvert element i vektoren via sin posisjon, og hvert elements verdi får tilgang til direkte gjennom referansepekeren. Bruk forsiktighet mens du bruker referansepekere for å unngå feilaktig å endre feil minneplasseringer.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor vect = 11,12,13,14,15;
int & ref = vect [0];
for (int i = 0; i < vect.size(); i++)
cout << ref << " ";
ref ++;

retur 0;

I koden ovenfor bygger vi først og initialiserer en vektor av tall kalt Vekt. Til slutt ved hjelp av VECT [0], Vi erklærer a Referansepeker ref og initialiser det med Vector's Første medlem. Hvert vektorelement er tilgjengelig inne i for -sløyfen ved hjelp av Referansepeker Ref, og den skrives deretter ut til konsollen ved hjelp av cout. De ref++ Operatør brukes også til å fremme referansepekeren til vektorens påfølgende element.

Produksjon

3: iterere over en C ++ -vektor ved bruk av for loop og iteratorer

De vektor Klasse i C ++ gir oss to metoder som vi kan bruke for å oppnå vektorens start- og slutt -iteratorer, som er begynne() og slutt(). Pekeren som refererer til starten av vektoren oppnås ved hjelp av begynne() metode, og pekeren som peker mot slutten av vektoren oppnås ved hjelp av slutt() funksjon. Med dette kan vi sløyfe gjennom vektoren og bruke utgangsfunksjonen til å vise verdien. Vi får mening om dette med et eksempel.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor v = 43, 23, 64, 45, 72;
vektor:: Iterator Vect;
for (vect = v.begynne(); Vekt != v.slutt(); VECT ++)

cout<<*vect<<" ";

retur 0;

En iterator brukes som en peker for å sløyfe over en vektor i dette programmet. Pekeren blir deretter økt for å få tilgang til neste vektorelement. Karakteren * brukes til å få tilgang til minneplassen som iteratoren peker på verdien.

Produksjon

4: iterere over en C ++ -vektor ved hjelp av Loop ved hjelp av auto nøkkelord

EN vektor kan også krysses ved hjelp av auto -nøkkelordet. Det tilgjengelige elementet og sekvensen som må itereres må lagres i en variabel gitt til bil. Det må brukes sammen med en for loop, som vist nedenfor.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor v = 43, 3, 23, 54;
for (auto & a: v)

cout << a << " ";

retur 0;

De bil nøkkelord ble brukt i koden ovenfor for å iterere gjennom vektor gjenstander. Derfor typen elementer i vektor vil bli valgt automatisk. Hvert element er tatt og gjort tilgjengelig for aktivitetene vi ønsker å utføre på det.

Produksjon

Konklusjon

Iterere gjennom en C ++ vektor via a for sløyfe er en enkel og effektiv måte å få tilgang til og manipulere elementene i en vektor. Ved å definere parametrene riktig i for -loopen, kan du sikre at koden din vil utføre som forventet og avslutte når alle iterasjonene er fullført. Med litt praksis og forståelse av C ++ -språket, kan du mestre for -loopen og bruke den til å iterere gjennom en vektor I dine egne programmer.