Previous Up Next

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

D.1.3  Vahetus

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

D.4.4  Algarvud

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

D.7.4  Lihtahel

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

Previous Up Next