Packaging sequence of stack C ++
The order of the stack in C ++ for a simple package, to achieve the basic operation of the stack
encapsulation methods: pop (), top () , size (), empty (), push ()
Code has been tested
#pragma once
#include <iostream>
#include <algorithm>
using namespace std;
template<class T> class Stack {
public:
Stack(); //构造函数
void pop(); //弹出头元素
void push(T value); //入栈
bool empty(); //判断是否为空栈
int size(); //返回栈的大小
T top(); //获取首元素
private:
T arr[100];
int head;
int tail;
int len;
};
template<class T>
inline Stack<T>::Stack()
{
this->head = 0;
this->tail = 0;
this->len = 0;
}
template<class T>
inline void Stack<T>::pop()
{
this->head--;
this->len--;
}
template<class T>
inline void Stack<T>::push(T value)
{
head++;
arr[head] = value;
this->len++;
}
template<class T>
inline bool Stack<T>::empty()
{
if(this->len == 0)
return true;
else return false;
}
template<class T>
inline int Stack<T>::size()
{
return this->len;
}
template<class T>
inline T Stack<T>::top()
{
return T(arr[head]);
}
If you have any questions put to me, then you can add qq Oh, welcome chiefs point out the problem.
If you feel for your help, then give me a point of praise, the next time I lit the power of writing it ^ _ ^!