定長數組
一種方法是使用定長的數組,如果不是循環隊列的話,這個數組需要開足夠長度。
class MyQueue {
private:
int q[10000],start=0,end=0;
public:
int front() { //返回隊首元素
if(start==end) return -1; //隊列空時返回-1
return q[start];
}
void push(int value) { //入隊
q[end++]=value;
}
int pop(){ //出隊
if(start==end) return -1;
return q[start++];
}
};
動態數組
使用動態數組可以借用容器vector實現
class MyQueue{
private:
vector<int> q;
int start;
public:
bool empty(){
return start>=q.size();
}
int front(){
if(q.empty()) return -1;
return q[start];
}
void push(int val){
q.push_back(val);
}
bool pop(){
if(q.empty()) return false;
start++;
return true;
}
};