zoukankan      html  css  js  c++  java
  • 数据结构

    顺序栈封装 C++

    使用C++对顺序栈进行了简单的封装,实现了栈的基本操作
    封装方法: pop(),top(),size(),empty(),push()

    代码已经过测试

    #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]);
    }
    

    如果大家有什么疑问的话可以加qq向我提出哦,欢迎各位大佬指出问题。
    如果你觉得对你有所帮助的话就给我点个赞,点燃我下次写文章的动力吧 ^_^ !

  • 相关阅读:
    install sklearn-crfsuite on mac
    排序算法之选择排序
    排序算法之冒泡排序
    Python中__init__与self的解释
    Python中 if __name__ == "__main__"解释
    Python活力练习Day25
    Python活力练习Day24
    Python活力练习Day23
    动态规划之编辑距离
    Python活力练习Day22
  • 原文地址:https://www.cnblogs.com/wlw-x/p/11609672.html
Copyright © 2011-2022 走看看