Rešitev: Funkcije na podatkovni strukturi: Vrsta

Iz MaFiRaWiki

Naloga: Funkcije na podatkovni strukturi: Vrsta

Prosta implementacija vrste z osnovnimi operacijami:

 Clear[Pripravi,Vstavi,JePrazna,Odstrani,Zacetek,Najmlajsi,OdstraniN];
 JePrazna[Pripravi[]] := True;
 JePrazna[Vstavi[v_,e_]] := False;
 Odstrani[Pripravi[]] := Pripravi[];
 Odstrani[Vstavi[v_,e_]] := If[JePrazna[v], Pripravi[], Vstavi[Odstrani[v],e]];
 Zacetek[Pripravi[]] := Null;
 Zacetek[Vstavi[v_,e_]] := If[JePrazna[v], e, Zacetek[v]];

Definiciji zahtevanih funkcij z osnovnimi:

 Najmlajsi[Pripravi[]] := Null;
 Najmlajsi[Vstavi[v_, e_]] := e;
 OdstraniN[Pripravi[]] := Pripravi[];
 OdstraniN[Vstavi[v_, e_]] := v

Preizkusimo na primeru:

 Clear[v];
 v = Vstavi[Vstavi[Vstavi[Pripravi[], "1"], "2"], "3"];
 In[14]:= Najmlajsi[v]
 Out[14]:= 3
 In[15]:= OdstraniN[v]
 Out[15]:= Vstavi[Vstavi[Pripravi[], 1], 2]

Glej tudi

Osebna orodja