signature QUEUE = sig type'a T val empty: 'a T val is_empty: 'a T -> bool val content: 'a T -> 'a list val enqueue: 'a -> 'a T -> 'a T val dequeue: 'a T -> 'a * 'a T (*exception List.Empty*) end;
fun enqueue x (Queue (xs, ys)) = Queue (x :: xs, ys);
fun dequeue (Queue (xs, y :: ys)) = (y, Queue (xs, ys))
| dequeue (Queue (xs as _ :: _, [])) = letval y :: ys = rev xs in (y, Queue ([], ys)) end
| dequeue (Queue ([], [])) = raiseList.Empty;
end;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.0Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.