stack:
#include <iostream>
#include <vector>
#include <cstdlib>
template<class ElemType>
class Stack {
public:
ElemType Top() const {
int StackSize_ = data_.size();
return data_[StackSize_ -1];
}
void Push(const ElemType &elem) {
data_.push_back(elem);
}
void Pop() {
data_.pop_back();
}
bool Empty() const {
return data_.empty();
}
private:
std::vector<ElemType> data_;
};
queue:
#include <iostream>
#include <vector>
#include <cstdlib>
template<class ElemType>
class Queue {
public:
ElemType Front() const {
return data_.front();
}
void Push(const ElemType &elem) {
data_.push_back(elem);
}
void Pop() {
for(int i=0 ; i!=data_.size()-1; i++){
data_[i] = data_[i+1];
}
data_.pop_back();
}
bool Empty() const {
return data_.empty();
}
private:
std::vector<ElemType> data_;
};