 
 
 
Lisa D  Näiteprogrammid C++'is
Käesolev lisa esitab õppematerjali tähtsamate algoritmide realisatsioonid keeles C++. Programminäited on mõeldud ennekõike illustratsiooniks ja ei pretendeeri mingil juhul üldotstarbelise C++-keele õpiku staatusele.
C++ kui keele õppimiseks peaks lisaks käesolevale õppevahendile kindlasti kasutama ka spetsiaalset õpikut (näiteks mõnd allpool viidatutest).
Järgnevad näiteprogrammid on kirjutatud silmas pidades keele standardset dialekti ja testitud GNU C++ kompilaatoriga (vabavara1).
D.1  Sissejuhatus
 
D.1.1  Lihtne tervitus
 cpp/01/tere1.cpp
 
D.1.2  Interaktiivne tervitus
 cpp/01/tere2.cpp
 
 cpp/01/vahetus.cpp
 
D.1.4  Andmetüüpide kasutamise näide
 cpp/01/andmed.cpp
 
D.2  Valikulaused
 
D.2.1  Kahe arvu järjestamine
 cpp/02/sort1.cpp
 
D.2.2  Lineaarvõrrandi lahendamine
 cpp/02/linvqr.cpp
 
D.2.3  Maksimumi leidmine
 cpp/02/max2.cpp
 
D.2.4  Kolmnurgaülesanne
 cpp/02/klmnrk1.cpp
 
D.3  Korduslaused
 
D.3.1  Tekstifaili lugemine
 cpp/03/ridu.cpp
 
D.3.2  Korduslausete näited
 cpp/03/summa1.cpp
 
D.3.3  Arvumassiivi järjestamine 
 cpp/03/sort2.cpp
 
D.4  Alamprogrammid
 
D.4.1  Protseduur ja funktsioon
 cpp/04/alam1.cpp
 
D.4.2  Muutuja skoop ja eluiga
 cpp/04/alam2.cpp
 
D.4.3  Alamprogrammi parameetrid
 cpp/04/alam3.cpp
 
 cpp/04/alg.cpp
 
D.4.5  Faktoriaalid
 cpp/04/fakt.cpp
 
D.4.6  Hanoi tornid
 cpp/04/hanoi.cpp
 
D.5  Algoritmide keerukus
 Selle peatüki juurde programminäiteid ei ole.
 
D.6  Kombinatoorika
 
D.6.1  Järjendite genereerimine rekursiivselt
 cpp/06/jarj_rek.cpp
 
D.6.2  Permutatsioonide genereerimine rekursiivselt
 cpp/06/perm_rek.cpp
 
D.6.3  Kombinatsioonide genereerimine rekursiivselt
 cpp/06/komb_rek.cpp
 
D.6.4  Järjendite genereerimine iteratiivselt
 cpp/06/jarj_ite.cpp
 
D.7  Lineaarsed andmestruktuurid
 
D.7.1  Lineaarne otsing
 cpp/07/linots.cpp
 
D.7.2  Kahendotsing
 cpp/07/kahots.cpp
 
D.7.3  Dünaamiline mäluhaldus
 cpp/07/dyn.cpp
 
 
 cpp/07/ahel.cpp
 
 
D.7.5  Magasin massiivi baasil
 cpp/07/mag1.cpp
 
D.7.6  Magasin lihtahela baasil
 cpp/07/mag2.cpp
 
 
D.7.7  Järjekord massiivi baasil
 cpp/07/jrk1.cpp
 
D.7.8  Järjekord lihtahela baasil
 cpp/07/jrk2.cpp
 
 
D.8  Mittelineaarsed andmestruktuurid
 
D.8.1  Kahendpuu läbimine
 cpp/08/labipuu.cpp
 
 
D.8.2  Kahendotsingu puu
 cpp/08/otsipuu.cpp
 
 
D.8.3  Kuhjameetodil sorteerimine
 cpp/08/sort3.cpp
 
D.8.4  Lühimad teed graafis laiuti läbmisega
 cpp/08/lyhteed.cpp
 
D.8.5  Topoloogiline sorteerimine sügavuti läbimisega
 cpp/08/toposort.cpp
Kirjandus
 -  Andrew Koenig, Barbara E. Moo. Accelerated C++: Practical Programming by Example. Addison-Wesley, 2000.
- Õpik algajatele, ei eelda varasemat programmeerimiskogemust. 352 lk.
-  Steve Heller. Who's Afraid of C++? Academic Press, 1996.
- Õpik algajatele, ei eelda varasemat programmeerimiskogemust. 508 lk.
 http://www.steveheller.com/whos/
-  Steve Heller. Learning to Program in C++. Prentice Hall, 2000.
- Eelmise uuem ja oluliselt täiendatud väljaanne. 1104 lk.
-  Bruce Eckel. Thinking in C++, Volume I: Introduction to Standard C++. Prentice Hall, 2000.
- Hea mainega õpik, päris algajale võib veidi raske olla. 814 lk.
 http://www.mindview.net/Books/TICPP/
-  Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley, 2000.
- C++ looja kirjutatud raamat, eeldab lugejalt küllaltki tõsist eelnevat programmeerimiskogemust. 1040 lk. Kindlasti tuleks muretseda 3. või uuem trükk, sest varasemad väljaanded kirjeldavad keele vananenud dialekti.
- 1
- http://www.gnu.org/software/gcc/gcc.html
 
 
