(*  Tietorakenteet ja algoritmit 1999				*)
(*  Määritelmästä 4-2 : Joukon läpikäynti				*)
(*  Tässä joukon toteutuksessa läpikäynti sattuu olemaan	*)
(*	suuruusjärjestyksessä, mutta mitään takeita ei ole, 	*)
(*	että jos toteutusta muutetaan, uusi toteutus hakisi 	*)
(*	alkiot samassa järjestyksessä.				*)

(*	Tehdään 14 kokonaisluvun joukko ja tulostetaan se. *)

(*    9.9.1999 MM *)

program Esim_dset;

import TRA;

	(* Joukkoon vietävät luvut: *)
var Numerot= array [10,85,15,70,20,60,30,50,65,80,90,40,5,55] of integer;
    DS:DSET;
    i:DSET_ITERATOR;
    x:integer;
begin
	INT_DSET_CREATE(DS);
	for (x:=1 to 14) INT_DSET_INSERT(DS, Numerot[x]);
	x := INT_DSET_ANY(DS, i); (* Haetaan x:ään mikä tahansa alkio *)
	while (INT_DSET_ITERATING(DS, i)) do
		begin 
		 writeln(x); (* Tulostetaan alkio *)	
		 x := INT_DSET_ANOTHER(DS, i); (* Valitaan jokin muu alkio *)
		end;
	writeln;
end
