codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
# C/C++ 로 배우는 자료구조론 연습문제 7.32 class CircularQueue def initialize(size) @memory = [] @front = 0 @rear = 0 @queue_size = size end def is_empty return @front == @rear end def is_full return ((@rear + 1) % @queue_size) == @front end def enqueue(data) return nil if is_full @rear = (@rear + 1) % @queue_size @memory[@rear] = data end def dequeue return nil if is_empty @front = (@front + 1) % @queue_size return @memory[@front] end end def copy_queue(queue_src, queue_dest) until queue_dest.is_empty queue_dest.dequeue end temp_queue = CircularQueue.new 6 until queue_src.is_empty data = queue_src.dequeue queue_dest.enqueue data temp_queue.enqueue data end until temp_queue.is_empty queue_src.enqueue temp_queue.dequeue end end queue = CircularQueue.new 6 queue.enqueue "A" queue.enqueue "B" queue.enqueue "C" queue.enqueue "D" queue.enqueue "E" queue2 = CircularQueue.new 6 queue2.enqueue "F" copy_queue queue, queue2 puts queue2.dequeue puts queue2.dequeue puts queue2.dequeue puts queue2.dequeue puts queue2.dequeue puts queue2.dequeue puts queue.dequeue puts queue.dequeue puts queue.dequeue puts queue.dequeue puts queue.dequeue puts queue.dequeue
Private
[
?
]
Run code