lama_byterun/regression/test039(1).expr
2018-11-29 18:27:00 +03:00

41 lines
No EOL
821 B
Text

fun insert (t, x) {
case t of
`leaf -> return `node (x, `leaf, `leaf)
| `node (y, l, r) -> if x > y
then return `node (y, insert (l, x), r)
else return `node (y, l, insert (r, x))
fi
esac
}
fun find (t, x) {
case t of
`leaf -> return 0
| `node (y, l, r) -> if x == y then return 1
elif x > y then return find (l, x)
else return find (r, x)
fi
esac
}
n := read ();
write (0);
t := insert (`leaf, 5);
write (2);
t := insert (t, 4);
write (3);
t := insert (t, 6);
write (4);
t := insert (t, 3);
write (5);
write (find (t, 5));
write (6);
write (find (t, 4));
write (find (t, 6));
write (find (t, 3));
write (find (t, 2));
write (find (t, 1));
t := insert (insert (insert (insert (`leaf, 5), 4), 6), 3)