Courses/CS 460/Fall 2005/Homework/Sean Tseng/Oct 1
From CSWiki
< Courses | CS 460 | Fall 2005 | Homework | Sean Tseng
Contents |
[edit] Homework 1
[edit] Max
declare Max X Y M in
proc {Max L1 ?MaxOut}
case L1 of
nil then MaxOut=nil
[] (X1|nil) then
MaxOut=X1
[] (X1|X2|Xr) then
if X1 < X2 then
{Max (X2|Xr) MaxOut}
else
{Max (X1|Xr) MaxOut}
end
end
end
X = nil
{Max X M}
{Browse M}
[edit] Reverse (presented in class)
declare Reverse L1 L2 in
proc {Reverse Lin ?Lout}
case Lin of
nil then Lout=nil
[] (X1|Xr) then
Y in
Lout = Y|X1
{Reverse Xr Y}
end
end
L1 = [4 7 8 6 1]
{Reverse L1 L2}
{Browse L1}
{Browse L2}
[edit] Length
declare Length X Y in
proc {Length L ?Len}
case L of
nil then Len=0
[] (_|X3) then
Len = 1 + {Length X3}
end
end
X = [3 4 5]
{Length X Y}
{Browse Y}

