隊列的實現

定長數組

一種方法是使用定長的數組,如果不是循環隊列的話,這個數組需要開足夠長度。

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;
	}
}; 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章