/* Esimerkki Q1. 22.8.2000 Matti Meriläinen Kaikki käytössä olevat jonon perusoperaatiot: alustaminen, lisäys ja poisto, satunnainen luominen, vertailu, tulostus, tyypin palauttaminen ja tyhjyyden vertailu. */ #include "TRA.h" void Oma_tulostus(QUEUE Q, ELEMENT E) { QUEUE R, S; printf("Alkuperäinen jono:\n"); QUEUE_PRINT(Q); QUEUE_CREATE(R, QUEUE_TYPE(Q)); QUEUE_CREATE(S, QUEUE_TYPE(Q)); while (!QUEUE_EMPTY(Q)) { if (QUEUE_LESS(Q, QUEUE_FRONT(Q), E)) QUEUE_ENQUEUE(R, QUEUE_FRONT(Q)); else QUEUE_ENQUEUE(S, QUEUE_FRONT(Q)); QUEUE_DEQUEUE(Q); } printf("\nJakoalkiota pienemmät: \n"); QUEUE_PRINT(R); printf("\nJakoalkiota suuremmat tai yhtä suuret:\n"); QUEUE_PRINT(S); putchar('\n'); QUEUE_FREE(R); QUEUE_FREE(S); } int main() { QUEUE Q; FQ_CREATE(Q); QUEUE_CONSTRUCT_RANDOM(Q, 10, 1, 10); printf("Jakoalkio : 5\n"); Oma_tulostus(Q, FLOAT_ELEMENT(5)); FQ_FREE(Q); return 0; }