Algoritmi (C++)
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 28. huhtikuuta 2015 tarkistetusta
versiosta . tarkastukset vaativat
16 muokkausta .
algorithm on C++-ohjelmointikielen vakiokirjaston otsikkotiedosto , joka sisältää joukon toimintoja algoritmisten toimintojen suorittamiseen konteille ja muille sarjoille [1] .
Kaikki kirjastofunktiot sijaitsevat std [2] -nimiavaruudessa .
Algoritmien luokat
STL-standardikirjastoalgoritmit kuuluvat seuraaviin luokkiin.
Algoritmien kuvaus
Alla olevien taulukoiden funktion argumentit -sarakkeesta löydät seuraavat symbolit:
- ensimmäinen, viimeinen - lopetus- ja aloitusiteraattorit ( first1 , last1, first2, last2 - alueen 1 ja 2 lopetus- ja aloitusiteraattorit, vastaavasti)
- keskellä - iteraattori , joka osoittaa tiettyyn kohtaan säiliössä
- funktio, predikaatti, op ja comp ovat funktioobjekteja
- arvo, uusi, vanha ja init ovat säiliöihin tallennettujen objektien arvoja
- a, b ovat joitain samantyyppisiä objekteja
- iter - iteraattori
Muuttumattomat peräkkäiset toiminnot
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
adjacent_find |
first, last |
Palauttaa iteraattorin, joka osoittaa ensimmäiseen identtisten objektien pariin
|
count |
first, last, value |
Palauttaa niiden elementtien määrän, joiden arvo onvalue
|
equal |
first1, last1, first2 |
Palauttaa true, jos kaikki vastaavat objektiparit kahdelta alueelta ovat yhtä suuret
|
find |
first, last, value |
Palauttaa iteraattorin, joka osoittaa ensimmäiseen arvoa vastaavaan elementtiinvalue
|
for_each |
first, last, function |
Koskee functionkaikkia objekteja
|
mismatch |
first1, last1, first2 |
Palauttaa ensimmäisen yhteensopimattoman objektiparin, jotka sijaitsevat eri säilön sijaintialueilla
|
search |
first1, last1, first2, last2 |
Testaa, sisältyykö toinen alue ensimmäiseen, palauttaa ottelun alun tai viimeisen1, jos vastaavuutta ei ole
|
Peräkkäisten toimintojen muokkaaminen
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
fill |
first, last, value |
Määrittää arvon valuekaikille alueen objekteille
|
generate |
first, last, gen |
Täyttää alueen arvoilla, jotka on saatu peräkkäisillä funktiokutsuillagen
|
iter_swap |
iter1, iter2 |
Vaihtaa kahden iteraattorin osoittamat objektit
|
remove |
first, last, value |
Poistaa alueelta kaikki yhtä suuret arvotvalue
|
reverse |
first, last |
Kääntää objektien sarjan alueelta
|
replace |
first, last, old, new |
Korvaa kaikki objektit old, jotka ovat yhtä suuria kuinnew
|
rotate |
first, last, middle |
Peilaa elementtien järjestystä
|
swap |
a, b |
Korvaa yhden kohteen toisella
|
swap_ranges |
first1, last1, first2 |
Vaihtaa vastaavia objekteja kahdella alueella
|
transform |
first1, last1, first2, operator |
Muuntaa alueen 1 kohteet uusiksi kohteiksi alueella 2 soveltamallaoperator
|
unique |
first, last |
Poistaa kaikki vastaavat objektit sarjasta ensimmäistä lukuun ottamatta
|
Lajittelutoiminnot
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
nth_element |
first, nth,last |
Sijoittaa n:nnen objektin siihen paikkaan, jossa se olisi ollut koko alueen lajittelun jälkeen
|
sort |
first, last |
Lajittelee objektit alueella
|
stable_sort |
first, last |
Lajittelee objektit alueelle. Jos kaksi objektia ovat yhtä suuret, niiden järjestys ei muutu.
|
Binäärihakuoperaatiot
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
binary_search |
first, last, value |
Palauttaa true, jos arvo valueon alueella
|
equal_range |
first, last, value |
Palauttaa objektiparin, jotka edustavat ala- ja ylärajaa, joiden väliin arvo voidaan lisätä valuemuuttamatta lajittelujärjestystä
|
lower_bound |
first, last, value |
Palauttaa iteraattorin, joka osoittaa ensimmäiseen paikkaan, johon arvo voidaan lisätä valuemuuttamatta objektien järjestystä
|
upper_bound |
first, last, value |
Palauttaa iteraattorin joka osoittaa viimeiseen paikkaan johon arvo voidaan lisätä valuemuuttamatta objektien järjestystä
|
Yhdistä toiminnot
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
includes |
first1, last1, first2, last2 |
Palauttaa true, jos kaikki kohteet alueella ensimmäinen2 viimeinen2 ovat myös alueella ensimmäinen1 viimeinen1 (vain sarja- ja monisarjatöissä)
|
merge |
first1, last1, first2, last2, first3 |
yhdistää lajitellut alueet 1 ja 2 alueeksi 3
|
set_difference |
first1, last1, first2, last2, first3 |
Luo järjestetyn eron sarjoista, jotka on annettu alueille 1 ja 2 (vain sarjalle ja multisarjalle)
|
set_intersection |
first1, last1, first2, last2, first3 |
Luo järjestetyn leikkauspisteen alueiden 1 ja 2 elementeistä (vain joukon ja monijoukon kanssa työskentelyyn)
|
set_union |
first1, last1, first2, last2, first3 |
Luo järjestetyn liiton alueiden 1 ja 2 elementeistä (toimii vain setin ja multisetin kanssa)
|
Kasat
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
make_heap |
first, last |
Luo keon alueen arvoista ensin viimeisenä
|
pop_heap |
first, last |
Muuttaa ensimmäisen ja viimeisen -1 arvoja. Työntää alueen ensimmäinen viimeinen 1 kasaan
|
push_heap |
first, last |
Sijoittaa arvon viimeisestä 1 tuloksena olevaan kasaan (kasa, dynaaminen muistialue) ensimmäisestä viimeiseen
|
sort_heap |
first, last |
Järjestää kasan elementit viimeiseksi
|
Suhdeoperaatiot
Toiminnon nimi |
Toiminnan argumentit |
Toiminnon kuvaus
|
lexicographical_compare |
first1, last1, first2, last2 |
Palauttaa true, jos sekvenssi alueella 2 seuraa aakkosjärjestyksessä alueen 1 sekvenssiä
|
max |
a, b |
Palauttaa suurimman joukosta a, b
|
max_element |
first, last |
Palauttaa iteraattorin, joka osoittaa alueen suurimpaan objektiin
|
min |
a, b |
Palauttaa pienimmän joukosta a, b
|
min_element |
first,last |
Palauttaa iteraattorin, joka osoittaa alueen pienimpään kohteeseen
|
next_permutation |
first, last |
Suorittaa yhden permutaation annetun alueen järjestyksessä
|
prev_permutation |
first, last |
Suorittaa yhden käänteisen permutoinnin annetun alueen järjestyksessä
|
Muistiinpanot
- ↑ ISO / IEC (2003). ISO/IEC 14882:2003(E): Ohjelmointikielet - C++ § 25 Algoritmikirjasto [lib.algoritms], kohta. yksi
- ↑ Stroustrup, Bjarne. Ohjelmointi : periaatteet ja harjoitus C++ :lla . - Upper Saddle River, NJ: Addison-Wesley , 2009. - S. 729. - ISBN 9780321543721 . . - "Vakiokirjastoalgoritmit löytyvät osoitteesta <algorithm>.".
Kirjallisuus
- Laforet P. Liite E // Laforet P. Olio-ohjelmointi C++:ssa. - Pietari: Pietari, 2004. - S. 836-843.
Linkit