Hva er vektorer i C ++

Hva er vektorer i C ++
C ++ gir oss mange funksjoner som brukes i programvareutvikling på et bredt spekter. En av de mest nyttige datastrukturene i C ++ er vektoren, som gir en dynamisk matrise-lignende beholder som kan endres ved kjøretid.

I denne artikkelen skal vi utforske nøkkelfunksjonene i vektorer I C ++, inkludert hvordan du erklærer og initialiserer dem, hvordan du legger til og fjerner elementer, hvordan du får tilgang til individuelle elementer og hvordan du jobber med vektorer ved bruk av iteratorer.

Hva er vektorer i C++

Vektorer I C ++ er kraftig og dynamisk beholder som gir en matrise-lignende struktur, med muligheten til å endre størrelse på kjøretid. De tilbyr fleksibel minnetildeling og gir effektiv lagring for en samling av elementer. Vektorer kan initialiseres med forskjellige verdier, og elementer kan enkelt legges til eller fjernes. I tillegg, vektorer Gi forskjellige metoder for tilgang til og manipulere elementene sine, inkludert bruk av iteratorer.

Vektorer er inkludert i C ++ standard bibliotekoverskriftsfil og det må erklæres før inkludert vektorer I C ++ -programmer.

Erklæring om en vektor i C++

I C ++, a vektor blir erklært gjennom følgende syntaks:

vektor variabel_navn;

Her, The data-type er den typen data som vektoren vil inneholde, mens variabel_navn er vektornavnet du vil opprette. La oss forstå det med et eksempel:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
vektor MyVector;
// Legg til noen elementer i vektoren
MyVector.push_back (1);
MyVector.push_back (2);
MyVector.push_back (3);
MyVector.push_back (4);
cout << "Elements of the vector: ";
for (int i = 0; i < myVector.size(); i++)
cout << myVector[i] << " ";

cout << endl;
retur 0;

Produksjon

I dette eksemplet opprettes en vektor som kalles MyVector for å lagre heltall. Fire heltall legges til vektoren ved bruk av Push_back () -funksjonen. Deretter bruker du en for sløyfe iterert over elementene i vektoren og vis dem ved hjelp av indeksoperatøren [].

Funksjoner av vektorer i C++

I tillegg til medlemsfunksjonene for å legge til, fjerne og manipulere elementer i vektor, C ++ vektorer støtter også flere andre kategorier av funksjoner, som er:

  • Kapasitet
  • Elementtilgang
  • Modifiserere
  • Iteratorer

La oss se disse funksjonseksemplene en etter en.

1: Kapasitet

Kapasitetsfunksjoner i C ++ brukes til å håndtere størrelsen og kapasiteten til en vektor. Disse funksjonene lar deg få informasjon om vektorens gjeldende størrelse og kapasitet, samt justere størrelsen og kapasiteten i henhold til ditt krav.

Følgende tabell viser de mye brukte funksjonene når du arbeider med en vektorkapasitet.

kapasitet() Det gir oss den totale kapasiteten som en vektor på kjøretid har.
størrelse() Størrelsesfunksjon gir oss det totale antall elementer som holdes av en bestemt vektor.
Endre størrelse () Bruk til å endre størrelsen på elementene i beholderen.
Max_Size () Returnerer det høyeste verdielementet i en vektor.

Følgende er et eksempel på et C ++ -program som illustrerer kapasitetsfunksjoner i c++.

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

vektor en;
en.push_back (1);
en.push_back (2);
en.push_back (3);
en.push_back (4);
en.push_back (5);
en.push_back (6);
cout<<"Vector before resizing :";
for (int i = 0; i < a.size(); i++)

cout<
cout<en.endre størrelse (4);
cout<<"Vector after resizing :";
for (int i = 0; i < a.size(); i++)

cout<
cout << "\nCapacity: " << a.capacity();
cout << "\nSize: " << a.size();
cout << "\nMax_Size: " << a.max_size();
retur 0;

Ovennevnte kode opprettet en vektor en og la elementer til det ved hjelp av en for loop og push_back funksjon. Etter det brukte den kapasitetsfunksjonene kapasitet(), størrelse(), og Max_Size () For å skrive ut informasjon om vektorens kapasitet, størrelse og maksimal størrelse, henholdsvis. Koden brukte også Endre størrelse () funksjon for å redusere størrelsen på vektoren til 4 og skrive ut den nye størrelsen ved hjelp av størrelse().

Produksjon

2: Elementtilgang

Elementtilgang I C ++ refererer vektorer til evnen til å lese og endre de enkelte elementene i en vektor etter deres indeks. Det er flere funksjoner i C ++ som gir element tilgang til vektorer:

front() Returner det første elementet i en vektor
tilbake() Gi oss sluttelementet i gjeldende vektor
på() på (a): gir en referanse til elementet i vektoren på punktet “a”

Et eksempel på et C ++ -program av Elementtilgangsfunksjon er gitt nedenfor:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
Vektoren;
int n, b;
cout<<"Please Enter Size of vector: ";
cin >> n;
cout<<"Enter vector Elements one by one:\n";
for (int i = 1; i<=n;i++)

Cin >> B;
en.push_back (b);

cout<<"\nVector Value at Position 2: "<cout<<"\nFirst element of the vector: "<cout<<"\nLast element of the vector: "<retur 0;

Ovennevnte kode opprettet en vektor en og fikk brukeren til å oppgi størrelsen på vektoren og dens elementer. Den brukte deretter push_back () funksjon for å legge elementene til vektoren og viste verdien ved indeks 2 ved hjelp av på() funksjon. Koden brukte også front() og tilbake() Funksjoner for å vise henholdsvis de første og siste elementene i vektoren.

Produksjon

3: Modifikatorer

Modifiserere er funksjoner som lar deg endre innholdet i en vektor ved å legge til eller fjerne elementer. Det er flere modifiseringsfunksjoner tilgjengelig i C ++ vektorer gitt i følgende tabell:

tildele() Legger friske elementer til et bestemt sted.
push_back () Det tvinger komponentene i en retning fra bakover.
bytte() Ved å bruke en annen vektor av samme type, dataelementene i en enkelt vektorendring.
klar() Det brukes til å eliminere hver komponent i vektorobjektet.

Et C ++ -kodeeksempel ved bruk av modifikatorer.

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

vektor en;
en.tilordne (3, 5);
cout << "Elements of Vectors are: ";
for (int i = 0; i < a.size(); i++)
cout << a[i] << " ";
vektor VEC1, VEC2;
VEC1.push_back (1);
VEC1.push_back (2);
VEC2.push_back (3);
VEC2.push_back (4);
cout << "\n\nVector number 1: ";
for (int i = 0; i < vec1.size(); i++)
cout << vec1[i] << " ";
cout << "\nVector number 2: ";
for (int i = 0; i < vec2.size(); i++)
cout << vec2[i] << " ";
// bytter v1 og v2
VEC1.SWAP (VEC2);
cout << "\nAfter Swap Vector Elements \nVector number 1: ";
for (int i = 0; i < vec1.size(); i++)
cout << vec1[i] << " ";
cout << "\nVector number 2: ";
for (int i = 0; i < vec2.size(); i++)
cout << vec2[i] << " ";

I koden ovenfor, tildele() Funksjon brukes til å tilordne en verdi til et vektorelement. Deretter opprettes to vektorer og elementene deres skrives ut ved hjelp av en loop. Neste, The bytte() Funksjon brukes til å bytte elementene i de to vektorene. Endelig skrives elementene i de to vektorene trykt igjen etter byttet ved hjelp av løkker.

Produksjon

4: Iteratorer

I C ++ oppfører iteratorer seg som pekere som lar en få tilgang til vektorelementet sekvensielt. Iteratorer gjør i utgangspunktet programutførelse mer effektiv. Følgende tabell presenterer beskrivelsen av funksjoner som brukes i iteratorer.

begynne() Peker på den første verdien til iteratoren til en vektor i C++.
slutt() Returnerer det siste elementet som peker på vektorens sluttposisjon til iteratoren.
Neste () Returnerer den nye iteratoren som iteratoren ville peke på hvis posisjonene som er spesifisert i parametrene ble avansert.

Eksempelkode med iteratorer er gitt nedenfor:

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

vektor a = 3, 4, 5, 6, 7;
vektor:: iterator p = a.begynne();
vektor:: iterator f = a.slutt();
cout << "The position of iterator using begin() : ";
cout << *p << " ";
cout << endl;
auto z = neste (p, 3);
cout << "Itrator new position using next() : ";
cout << *z << " ";
retur 0;

Ovennevnte kode erklært en vektor “a” med verdier, og initialiserer to iteratorer til begynnelsen og slutten av vektoren ved bruk av "begynne()" og "slutt()" Funksjoner henholdsvis. Den brukte deretter “Neste ()” Funksjon for å fremme iteratoren med 3 posisjoner og trykte verdien på den nye iteratorposisjonen.

Produksjon

Konklusjon

Vektorer I C ++ er allsidige og dynamiske datastrukturer som gir effektive og fleksible måter å lagre og manipulere samlinger av data. Med deres evne til dynamisk å endre størrelse på og effektivt få tilgang til elementer, er de et kraftig verktøy for en rekke programmeringsoppgaver. Enten du jobber med enkle eller komplekse prosjekter, forståelse vektorer og deres evner kan hjelpe deg med å skrive mer effektiv og effektiv kode.