C++ programmeerijana on mul hea meel rääkida ühest keele ainulaadsest funktsioonist – vektorikonteinerist, täpsemalt unikaalse funktsiooni kasulikkusest ja kasutamisest vektoris. See C++ standardmalliteegi (STL) võimas komponent lihtsustab andmete korraldamist ja lihtsustab meie kodeerimistööd. Vektori unikaalse funktsiooni hea kasutamine võib teie programmi tõhusust plahvatuslikult suurendada.
Funktsioon "Unikaalne" kõrvaldab peamiselt järjestikused duplikaadid antud vahemikus, mis on määratletud konteineriga nagu vektor, ja tagastab iteraatori, mis osutab viimasele vasakule eristatavale elemendile.
C++ vektorite ja unikaalse funktsiooni mõistmine on oluline kõigile, kes soovivad selles programmeerimiskeeles selgeks saada.
#include
#include
#include
int main ()
{
std::vektor
std::sort(vec.begin(), vec.end());
std::vektor
ip = std::unikaalne(vec.begin(), vec.end());
vec.resize(std::distance(vec.begin(), ip));
for (ip = vec.begin(); ip != vec.end(); ip++) {
std::cout << *ip << " "; } return 0; } [/kood]
C++ koodi selgitus:
Kood sisaldab esmalt vajalikke päiseid – iostream sisend/väljundoperatsioonide jaoks, vektor andmestruktuuri kasutamiseks ja algoritm 'unikaalsele' funktsioonile juurdepääsuks. Seejärel deklareerib see täisarvude vektori "vec" ja initsialiseerib selle juhuslike arvudega.
Funktsioon "Sort" korraldab elemendid kasvavas järjekorras. Sorteerimine on oluline, kuna funktsioon "unikaalne" eemaldab ainult järjestikused duplikaadid. Kui duplikaate pole kõrvuti, siis neid ei eemaldata.
Seejärel kasutatakse funktsiooni 'unikaalne', kusjuures vahemik on 'vec' algus ja lõpp. „Unikaalne” tagastab iteraatori, mis osutab vahemiku lõppu ilma duplikaatideta.
Vektori roll ja "ainulaadne" meetod:
Ülaltoodud koodi väljund on "10 20 30". Nagu näeme, eemaldatakse kõik dubleerivad väärtused ja alles jäävad ainult kordumatud väärtused. Siinkohal tuleb märkida, et funktsioon 'unikaalne' ei kustuta dubleerivaid elemente, see tagastab iteraatori viimaste kordumatute elementide juurde ja mitte kaugemale ning väärtus jääb määramata.
Rida 'vec.resize(std::distance(vec.begin(), ip))' on mõeldud määratlemata elementide eemaldamiseks ja vektori suuruse muutmiseks vastavalt unikaalsetele väärtustele. Meie lõplikul vektoril pole praegu duplikaate. Silmus "for" prindib välja lõpliku vektori.
Teekide ja funktsioonide kasutamine:
STL-i teekide (nt vektori ja algoritmi) kasutamine mitte ainult ei säästa kodeerimisel aega, vaid pakub ka tõhusaid ja hõlpsasti mõistetavaid lahendusi keerukate ülesannete jaoks. "Ainulaadne" funktsioon vektorites on suurepärane näide. See säilitab algse järjestuse, eemaldab järjestikused duplikaadid ja muudab andmete haldamise lihtsamaks. See on väga kasulik, eriti suurte andmekogumite käsitlemisel.
Seetõttu on nende eelmääratletud teekide ja funktsioonide mõistmine ja hea kasutamine iga C++ programmeerija jaoks hädavajalik oskus.