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:

  1. ensimmäinen, viimeinen - lopetus- ja aloitusiteraattorit ( first1 , last1, first2, last2 - alueen 1 ja 2 lopetus- ja aloitusiteraattorit, vastaavasti)
  2. keskellä - iteraattori , joka osoittaa tiettyyn kohtaan säiliössä
  3. funktio, predikaatti, op ja comp ovat funktioobjekteja
  4. arvo, uusi, vanha ja init ovat säiliöihin tallennettujen objektien arvoja
  5. a, b ovat joitain samantyyppisiä objekteja
  6. 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

  1. ISO / IEC (2003). ISO/IEC 14882:2003(E): Ohjelmointikielet - C++ § 25 Algoritmikirjasto [lib.algoritms], kohta. yksi
  2. 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

Linkit