Guest User

Untitled

a guest
Jun 21st, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. ;create: -> DEQUE
  2. ;Eerstellt einen Stack bzw. eine Queue
  3. (define (create) '())
  4.  
  5. ;empty?: DEQUE -> Bool
  6. ;Fragt ab ob die DEQUE leer ist
  7. (define (empty? deque)
  8. (null? deque))
  9.  
  10. ;enqueue-right: Elem x DEQUE -> DEQUE
  11. ;Legt ein Element rechts auf die DEQUE ab
  12. (define (enqueue-right elem deque)
  13. (cond
  14. ((NOT (integer? elem))
  15. "Fehler: Bitte nur ganze Zahlen zur DEQUE hinzufügen")
  16. ((empty? deque) (cons elem '()))
  17. (else (cons (car deque) (enqueue-right elem (cdr deque))))))
  18.  
  19. ;enqueue-left: Elem x DEQUE -> DEQUE
  20. ;Legt ein Element links auf die DEQUE ab
  21. (define (enqueue-left elem deque)
  22. (cond
  23. ((NOT (integer? elem))
  24. "Fehler: Bitte nur ganze Zahlen zur DEQUE hinzufügen")
  25. (else (cons elem deque))))
  26.  
  27. ;dequeue-left: DEQUE -> DEQUE
  28. ;Entfernt auf der linken Seite der DEQUE ein Element
  29. (define (dequeue-left deque)
  30. (if (empty? deque) "Fehler: DEQUE ist leer"
  31. (cdr deque)))
  32.  
  33. ;dequeue-right: DEQUE -> DEQUE
  34. ;Entfernt auf der rechten Seite der DEQUE ein Element
  35. (define (dequeue-right deque)
  36. (if (empty? deque) "Fehler: DEQUE ist leer"
  37. (reverse (cdr (reverse deque)))))
  38.  
  39. ;front: DEQUE -> Elem
  40. ;Gibt das vorderste Element der DEQUE wieder
  41. (define (front deque)
  42. (if (empty? deque) "Fehler: DEQUE ist leer"
  43. (car deque)))
  44.  
  45. ;back: DEQUE -> Elem
  46. ;Gibt das hinterste Element der DEQUE wieder
  47. (define (back deque)
  48. (if (empty? deque) "Fehler: DEQUE ist leer"
  49. (list-ref deque (- (length deque) 1))))
Add Comment
Please, Sign In to add comment