/* Esimerkki L4. 22.8.2000 Matti Meriläinen Etsii listasta suurimman elementin ja palauttaa sen. Jos lista on tyhjä lista, palautusarvo on määrittelemätön. Ohjelma luo liukulukulistan L jossa on 10 alkiota, ja tulostaa alkioista suurimman. Funktio "float ELEMENT_FLOAT(ELEMENT E)" muuntaa elementin liukuluvuksi (palauttaa liukuluvun). */ #include "TRA.h" ELEMENT LIST_MAX(LIST L) { LIST_POSITION p; ELEMENT E; if (LIST_EMPTY(L)) return E; /* Palautetaan määrittelemätön elementti */ E = LIST_RETRIEVE(L, LIST_FIRST(L)); p = LIST_FIRST(L); while (p!=LIST_LAST(L)) { p = LIST_NEXT(L, p); if (LIST_LESS(L, E, LIST_RETRIEVE(L, p))) E = LIST_RETRIEVE(L, p); } return E; } int main() { LIST L; FL_CREATE(L); LIST_CONSTRUCT_RANDOM(L, 10, 0, 10); LIST_PRINT(L); putchar('\n'); printf("%4.2f",ELEMENT_FLOAT(LIST_MAX(L))); LIST_FREE(L); return 0; }