tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
15
Task/Queue-Definition/Scheme/queue-definition-1.ss
Normal file
15
Task/Queue-Definition/Scheme/queue-definition-1.ss
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
(define (make-queue)
|
||||
(make-vector 1 '()))
|
||||
|
||||
(define (push a queue)
|
||||
(vector-set! queue 0 (append (vector-ref queue 0) (list a))))
|
||||
|
||||
(define (empty? queue)
|
||||
(null? (vector-ref queue 0)))
|
||||
|
||||
(define (pop queue)
|
||||
(if (empty? queue)
|
||||
(error "can not pop an empty queue")
|
||||
(let ((ret (car (vector-ref queue 0))))
|
||||
(vector-set! queue 0 (cdr (vector-ref queue 0)))
|
||||
ret)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue