# Tietorakenteet ja algoritmit - kirjasto

## Käytössä olevat tyypit:

- `INT_TYPE` : kokonaislukutyyppi. Koska erilaisten järjestelmien kokonaisluvun (`int`) minimi- ja maksimiarvot poikkeavat toisistaan, määritellään että tyyppi `INT_TYPE` on vähintään 32 bitillä esitetty etumerkillinen kokonaisluku. Esimerkiksi cc:llä int on 32-bittinen, mutta MS-DOS:issa 16-bittinen, joten MS-DOS- version `INT_TYPE` on oltava ainakin long. Kuitenkin, cc:llä siis int.
- `FLOAT_TYPE` : liukulukutyyppi. Samoista syistä kuin edellinen, määritellään että `FLOAT_TYPE` on vähintään 32 bitillä esitetty liukuluku. (cc:llä float, muualla ehkä double).
- `PRIORITYTYPE` : ilmaisee prioriteettijonossa alkion prioriteetin. Cc:llä float.
- `BALANCETYPE` : ilmaisee puussa olevan solmun tasapainotilaa. Cc:llä int.
- `ELEMENT` : tietorakenteissa säilytettävän datan tyyppi.
- `DESCRIPTOR` : kuvaajatyyppi. Jokaiseen ELEMENT-tyyppiä käyttävään tietorakenteeseen sidotaan aina kuvaaja, joka kertoo kuinka tietorakenteessa olevia data-alkioita käsitellään.
- `BTREE_DIR` : lueteltu tyyppi joka ilmaisee kumpaan binääripuun haaran operaatio kohdistetaan. Lueteltu tyyppi on `{ left, right }`.
- `LIST_POSITION` : yksittäisen lista-alkion sijaintia listassa osoittava muuttuja.
- `DEQUE_END` : lueteltu tyyppi joka ilmaisee kumpaan päähän pakkaa operaatio kohdistetaan. Lueteltu tyyppi on `{ top, bottom }`, joista `top` kohdistuu pakan "FRONT" - päähän ja `bottom` pakan "REAR" - päähän.
- `DSET_ITERATOR` : Joukon läpikäyntimuuttuja.
- `BTREE_NODE` : yksittäinen binääripuun solmu.
- `TREE_NODE` : yksittäinen yleisen puun solmu.
- `LIST` : kahteen suuntaan linkitetty lista.
- `QUEUE` : jono.
- `STACK` : pino.
- `DEQUE` : pakka.
- `PRIQUEUE` : prioriteettijono.
- `DSET` : joukko.
- `TREE` : yleinen puu.
- `BTREE` : binääripuu.
- `GRAPH` : suuntaamaton verkko.
- `DIGRAPH` : suunnattu verkko.

Söulissa, 5.9.1999 Matti Meriläinen