그래서 내가 여기있다, 내가 분석하고 어떻게 작동하는지 경계 큐에 대해, 그것에서 배울 필요가이 코드를 가지고 :대기열 및 대기열 제거 방법의 대기열 계수는?
class Queue<T> { // bounded
private T[] seq; // the sequence
private int size = 0; // size of sequence
private int head = 0; private int tail = 0; // front and rear
Queue(int n) { // n>0
seq = (T[])(new Object[n]);
}
Queue(){ this(10000);} // = seq=(T[])(new Object[10000]);
boolean isEmpty() { return size==0;}
boolean enq(T t) {
if (size<seq.length) {
seq[tail] = t; tail = (tail+1)%seq.length; size++;
return true;
}
else return false;
}
T deq() {
if (isEmpty()) return null;
else {
T temp = seq[head];
head = (head+1)%seq.length; size--;
return temp;
}
}
}
그래서 모든 것은 괜찮지 만, 나는 왜 하나님의 이름으로 이해하지 않는다 모듈러스는 enq(T t)
방법 deq()
방법 (%
) 동작 ...가
그럼 제거하면 어떻게됩니까? –
배열의 다음 요소는 새 꼬리가 될 것입니다 ... –