RedWing
Erfahrenes Mitglied
Hallo,
ich hoffe ich bin hier richtig und mir kann jemand helfen.
Das ganze hat zwar nix mit java zu tun aber mir schien das Forum ganz angebracht dafür.
Folgender Datentyp sei zu definieren:
queue // Liste
Mit folgenden Operationen:
Unser Prof hat nun folgende Eigenschaften fest gelegt:
Da aber weder if noch then noch else als Operationen des ADT
festgelegt wurden, frag ich mich ob die Definition gültig ist?
Kann man das vielleicht auch ohne diese vom Himmel herkommenden
Operationen definieren?
Danke und Gruß
RedWing
ich hoffe ich bin hier richtig und mir kann jemand helfen.
Das ganze hat zwar nix mit java zu tun aber mir schien das Forum ganz angebracht dafür.
Folgender Datentyp sei zu definieren:
queue // Liste
Mit folgenden Operationen:
Code:
create: --> queue /* Erzeugen */
enqeue: queue x element --> queue /* Hinten anfügen */
dequeue: queue --> queue /* 1. Element entfernen*/
front: queue --> element /* 1. Element liefern */
empty: queue -- > boolean /*Schlange leer?*/
Code:
Es existieren:
q: queue ; x: element
=> folgende Eigenschaften der Operationen:
empty(create()) = true
empty ( enqueue(q,x)) = false
front(create()) = undefiniert
front ( enqueue (q,x)) = if (empty (q)) then x else front (q)
dequeue( create) = undefiniert
dequeue(enqueue(q,x))= if ( empty(q)) then q else enqueue (dequeue(q), x)
Da aber weder if noch then noch else als Operationen des ADT
festgelegt wurden, frag ich mich ob die Definition gültig ist?
Kann man das vielleicht auch ohne diese vom Himmel herkommenden
Operationen definieren?
Danke und Gruß
RedWing