Kas yra C ++ vektorius?
, C ++ VECTOR yra dinaminis masyvas gali automatiškai dydį pati. Keisti dydį atsiranda po to, kai elementas yra pridėtas arba pašalintas iš vektoriaus. Konteineris automatiškai tvarko sandėliavimą. Vektoriaus elementai yra saugomi gretimoje saugykloje. Tai leidžia C ++ programuotojams pasiekti ir pereiti vektorinius elementus naudojant iteratorius.
Naujų duomenų įterpimas į vektorių atliekamas jo pabaigoje. Tam reikia skirtingo laiko. Elemento pašalinimas iš vektoriaus reikalauja pastovaus laiko. Priežastis ta, kad nereikia keisti vektoriaus dydžio. Elemento įterpimas ar ištrynimas vektoriaus pradžioje užima tiesinį laiką.
Šioje C ++ pamokoje sužinosite:
- Kas yra C ++ vektorius?
- Kada naudoti vektorių?
- Kaip inicijuoti vektorius C ++
- Iteratoriai
- Modifikatoriai
- 1 pavyzdys
- 2 pavyzdys
- Talpa
- 3 pavyzdys
Kada naudoti vektorių?
C ++ vektorius turėtų būti naudojamas šiomis aplinkybėmis:
- Nagrinėjant nuosekliai besikeičiančius duomenų elementus.
- Jei duomenų dydis nėra žinomas prieš pradedant, vektorius nereikalaus nustatyti didžiausio talpyklos dydžio.
Kaip inicijuoti vektorius C ++
Vektorių sintaksė C ++ yra:
vectorname (items)
- Kaip parodyta aukščiau, mes pradedame nuo vektorinio raktinio žodžio.
- Duomenų tipas yra vektoriuje saugomų elementų duomenų tipas.
- Pavadinimas yra vektoriaus arba duomenų elementų pavadinimas.
- Elementai žymi vektoriaus duomenų elementų skaičių. Šis parametras neprivalomas.
Iteratoriai
Iteratorių tikslas yra padėti mums pasiekti elementus, kurie yra saugomi vektoriuje. Tai objektas, kuris veikia kaip rodyklė. Čia yra įprasti iteratoriai, palaikomi C ++ vektorių:
- vektorius :: begin (): jis pateikia iteratorių, kuris nurodo pirmąjį vektoriaus elementą.
- vektorius :: pabaiga (): jis pateikia iteratorių, kuris nurodo vektoriaus elementą „praeities ir pabaigos“.
- vektorius :: cbegin (): tai tas pats, kas vektorius :: begin (), bet jis neturi galimybės modifikuoti elementų.
- vektorius :: cend (): tai tas pats, kas vektorius :: pabaiga (), bet negali modifikuoti vektoriaus elementų.
Modifikatoriai
Modifikatoriai naudojami norint pakeisti nurodyto duomenų tipo reikšmę. Čia yra įprasti C ++ modifikatoriai:
- vektorius :: push_back (): Šis modifikatorius stumia elementus iš nugaros.
- vector :: insert (): skirtas naujiems elementams įterpti į vektorių nurodytoje vietoje.
- vektorius :: pop_back (): Šis modifikatorius pašalina vektorinius elementus iš galo.
- vektorius :: ištrinti (): jis naudojamas pašalinti elementų diapazoną iš nurodytos vietos.
- vector :: clear (): pašalina visus vektorinius elementus.
1 pavyzdys
#include#include using namespace std;int main(){vector nums;for (int a = 1; a <= 5; a++)nums.push_back(a);cout << "Output from begin and end: ";for (auto a = nums.begin(); a != nums.end(); ++a)cout << *a << " ";cout << "\nOutput from cbegin and cend: ";for (auto a = nums.cbegin(); a != nums.cend(); ++a)cout << *a << " ";return 0;}
Išvestis:
Čia yra kodo ekrano kopija:
Kodo paaiškinimas:
- Įtraukite „iostream“ antraštės failą į mūsų kodą. Tai leis mums skaityti ir rašyti į konsolę.
- Įtraukite vektoriaus antraštės failą į mūsų kodą. Tai leis mums dirbti su vektoriais C ++.
- Įtraukite standartinę vardų sritį, kad galėtumėte naudoti jos klases ir funkcijas jos nepaskambinę.
- Iškvieskite pagrindinę () funkciją, kurioje turėtų būti pridėta programos logika.
- {Žymi pagrindinės () funkcijos kūno pradžią.
- Paskelbkite vektorių, pavadintą „nums“, kad išsaugotumėte sveikųjų skaičių rinkinį.
- Sukurkite „for loop“, kad galėtume kartoti vektorių. Kintamasis padės mums iterate per vektoriaus elementų, nuo 1 g iki 5 -ojo elementų.
- Įstumkite elementus į vektoriaus numerį iš nugaros. Kiekvienai iteracijai tai pridės dabartinę kintamojo a vertę į vektorių, kuri yra nuo 1 iki 5.
- Atsispausdinkite tekstą konsolėje
- Naudokite iteratoriaus kintamąjį a, kad pakartotumėte vektorių sumų elementus nuo pradžios iki pabaigos ir pabaigos elemento. Atkreipkite dėmesį, kad mes naudojame vektorių :: begin () ir vector :: end () iteratorius.
- Atspausdinkite iteratoriaus kintamojo a reikšmes konsolėje kiekvienai iteracijai.
- Atsispausdinkite tekstą konsolėje. \ N yra naujas eilutės simbolis, perkeliantis žymeklį į naują eilutę, iš kurios norite spausdinti.
- Naudokite iteratoriaus kintamąjį, norėdami kartoti vektorių elementų elementus nuo pradžios iki elemento „praeityje“. Atkreipkite dėmesį, kad mes naudojame vektorius :: cbegin () ir vector :: cend () iteratorius.
- Atsispausdinkite iteratoriaus kintamojo a reikšmes konsolėje kiekvienai iteracijai.
- Jei programa sėkmingai veikia, pagrindinė funkcija turėtų grąžinti vertę.
- Pagrindinės () funkcijos kūno pabaiga.
2 pavyzdys
#include#include using namespace std;int main(){vector nums;nums.assign(5, 1);cout << "Vector contents: ";for (int a = 0; a < nums.size(); a++)cout << nums[a] << " ";nums.push_back(2);int n = nums.size();cout << "\nLast element: " << nums[n - 1];nums.pop_back();cout << "\nVector contents: ";for (int a = 0; a < nums.size(); a++)cout << nums[a] << " ";nums.insert(nums.begin(), 7);cout << "\nFirst element: " << nums[0];nums.clear();cout << "\nSize after clear(): " << nums.size();}
Išvestis:
Čia yra kodo ekrano kopija:
Kodo paaiškinimas:
- Įtraukite „iostream“ antraštės failą į mūsų kodą, kad galėtumėte naudoti jo funkcijas.
- Įtraukite vektoriaus antraštės failą į mūsų kodą, kad galėtumėte naudoti jo funkcijas.
- Įtraukite standartinę vardų sritį, kad galėtumėte naudoti jos klases jos nepaskambinę.
- Iškvieskite pagrindinę () funkciją. Programos logika turėtų būti įtraukta į jos turinį.
- Pagrindinės () funkcijos kūno pradžia.
- Paskelbkite vektorių, pavadintą „nums“, kad išsaugotumėte keletą sveikųjų skaičių reikšmių.
- Laikykite 5 elementus vektoriniuose skaičiuose. Kiekvieno jų vertė yra 1.
- Atsispausdinkite tekstą konsolėje
- Naudokite iteratoriaus kintamąjį a, kad pakartotumėte vektorinių skaičių elementus.
- Atspausdinkite vektorių sumų reikšmes konsolėje kiekvienai iteracijai.
- Pridėkite 2 reikšmę prie vektorinių skaičių pabaigos.
- Paskelbkite sveikojo skaičiaus kintamąjį n, kad išsaugotumėte vektorinių skaičių dydį.
- Spausdinkite paskutinę vektorinių skaičių reikšmę kartu su kitu tekstu. Jis turėtų grąžinti 2.
- Pašalinkite paskutinį elementą iš vektorinių skaičių. 2 bus pašalinti.
- Spausdinkite tekstą konsolėje. \ N perkelia žymeklį į naują eilutę, kad ten atspausdintų tekstą.
- Naudokite iteratoriaus kintamąjį a, kad pakartotumėte vektorinių skaičių elementus.
- Atspausdinkite vektorių sumų reikšmes konsolėje kiekvienai iteracijai.
- Įterpkite 7 reikšmę į vektorių skaičių pradžią.
- Spausdinkite pirmąją vektorinių skaičių reikšmę kartu su kitu tekstu. Jis turėtų grąžinti 7.
- Ištrinkite visus elementus iš vektorinių skaičių.
- Išvalę visą turinį, šalia kito teksto atspausdinkite vektoriaus numerio dydį. Ji turėtų grąžinti 0.
- Pagrindinės () funkcijos kūno pabaiga.
Talpa
Norėdami nustatyti vektoriaus talpą, naudokite šias funkcijas:
- Dydis () - pateikia elementų skaičių vektoriuje.
- „Max_size ()“ - tai didžiausias elementų, kuriuos gali išsaugoti vektorius, skaičius.
- Talpa () - tai grąžina vektoriui skirtą saugyklos vietą.
- Keisti dydį () - pakeičiamas konteinerio dydis, kuriame yra n elementų. Jei dabartinis vektoriaus dydis yra didesnis nei n, galiniai elementai bus pašalinti iš vektoriaus. Jei dabartinis vektoriaus dydis yra mažesnis nei n, papildomi elementai bus pridėti prie vektoriaus galo.
- Tuščias () -i t grąžina tiesą, jei vektorius yra tuščias, kitaip jis pateikia klaidingą.
3 pavyzdys
#include#include using namespace std;int main() {vector vector1;for (int x = 1; x <= 10; x++)vector1.push_back(x);cout << "Vector size: " << vector1.size()<< endl;cout << "Vector capacity: " << vector1.capacity() << endl;cout << "Maximum size of vector: " << vector1.max_size()<< endl;vector1.resize(5);cout << "Vector size after resizing: " << vector1.size() << endl;if (vector1.empty() == false)cout << "Vector is not empty"< Išvestis:
Čia yra kodo ekrano kopija:
Kodo paaiškinimas:
- Įtraukite „iostream“ antraštės failą į mūsų kodą, kad galėtumėte naudoti jo funkciją.
- Įtraukite vektoriaus antraštės failą į mūsų kodą, kad galėtumėte naudoti jo funkcijas.
- Įtraukite standartinę vardų sritį į mūsų kodą, kad galėtumėte naudoti jos klases nepaskambinę.
- Iškvieskite pagrindinę () funkciją. Programos logika turėtų būti įtraukta į šios funkcijos tekstą.
- Sukurkite vektorių, pavadintą vector1, kad išsaugotumėte sveikus skaičius.
- Norėdami sukurti kintamąjį x, kurio vertės yra nuo 1 iki 10, naudokite „for“ kilpą.
- Stumkite kintamojo x reikšmes į vektorių.
- Spausdinkite vektoriaus dydį kartu su kitu tekstu konsolėje.
- Atspausdinkite vektoriaus talpą šalia kito teksto konsolėje.
- Spausdinkite didžiausią elementų, kuriuos vektorius gali laikyti, šalia kito teksto konsolėje, skaičių.
- Pakeiskite vektoriaus dydį, kad jame būtų tik 5 elementai.
- Atspausdinkite naują vektoriaus dydį šalia kito teksto.
- Patikrinkite, ar vektorius nėra tuščias.
- Spausdinkite tekstą konsolėje, jei vektorius nėra tuščias.
- Naudokite kitą sakinį, kad nurodytumėte, ką daryti, jei vektorius tuščias.
- Tekstas, kurį reikia spausdinti konsolėje, jei vektorius tuščias.
- Sėkmingai baigus, programa turi grąžinti vertę.
- Pagrindinės () funkcijos kūno pabaiga.
Santrauka:
- C ++ vektorius yra dinaminis masyvas, galintis automatiškai keisti savo dydį, kai elementas pridedamas arba ištrinamas iš jo.
- Konteineris automatiškai tvarko vektoriaus saugojimą.
- Vektoriaus elementai yra saugomi gretimoje saugykloje, kad prie jų būtų galima prieiti ir tada juos pereiti naudojant iteratorius.
- Naujų duomenų įterpimas į vektorių atliekamas jo pabaigoje.
- Duomenų įterpimas į vektorių užtrunka skirtingą laiką.
- Elemento pašalinimas iš vektoriaus reikalauja pastovaus laiko.
- Elemento įterpimas ar pašalinimas pradžioje užima linijinį laiką.
- Vektoriai turėtų būti naudojami nagrinėjant nuosekliai besikeičiančius duomenų elementus.
- Be to, galite naudoti vektorius, jei duomenų dydis nėra žinomas prieš pradedant.