Rešitev: Implementacija vrste v Mathematici

Iz MaFiRaWiki

Naloga: Implementacija vrste v Mathematici

  • Prosta implementacija vrste:
JePrazna[Pripravi[]]:=True;
JePrazna[Vstavi[v_,e_]]:=False;

Odstrani[Pripravi[]]:=Pripravi[];
Odstrani[Vstavi[v_,e_]]:=If[JePrazna[v],Pripravi[],Vstavi[Odstrani[v],e]];

Celo[Pripravi[]]:=Null;
Celo[Vstavi[v_,e_]]:=If[JePrazna[v],e,Celo[v]];

Rep[Pripravi[]]:=Null;
Rep[Vstavi[v_,e_]]:=e;

Dolzina[Pripravi[]]:=Nic;
Dolzina[Vstavi[v_,e_]]:=Vsota[Dolzina[v],Ena];

Opomba: operacija Odstrani[Pripravi[]]:=Pripravi[]; bi lahko sporočila napako. Odločili smo se, da prazne vrste ne moremo še bolj izprazniti in napake ne sporočamo.

  • Implementacija vrste s seznamom:
Pripravi[] := {}
Vstavi[v_, e_] := Prepend[v, e]
JePrazna[{}] := True
JePrazna[{___}] := False
Celo[v_] := Last[v]
Rep[v_] := v[[1]]
Odstrani[v_] := Drop[v, -1]

Glej tudi

Osebna orodja