模板 - 栈

STL的栈,可能有一些不需要的信息。
其实用数组实现之后是这个鬼样子。感觉还不如直接用。

struct Stack{
    int st[MAXSIZE];
    int top;
    inline void Clear(){
        top=0;
    }
    inline void Push(int x){
        st[++top]=x;
    }
    inline void Pop(){
        --top;
    }
    inline int Top(){
        return st[top];
    }
    inline int Size(){
        return top;
    }
    inline bool Empty(){
        return !top;
    }
};

原文地址:https://www.cnblogs.com/Yinku/p/11210635.html

时间: 2024-10-29 11:59:11

模板 - 栈的相关文章

模板栈的实现以及调用失败

场景说明:实现了了模板栈,但是调用的过程中,无法实现基本的功能: 声明如下: template<class T>struct SNode {     T t;     SNode<T>* pNextNode; }; template<class T> class CStack { private:     SNode<T>* m_pCStackTop;     int  m_nNodeCount; public:     CStack();     ~CSt

011 模板栈和队列

/* 目录: 一: 栈模板 1 类内编写 2 类外编写 二: 队列 1 类内编写 2 类外编写 */ 一: 栈模板 1 类内编写 // Stack.h #pragma once #include <iostream> template<typename DATA> class CStack { public: CStack() :m_nTop(-1) { } bool isFull() { if (m_nTop + 1 >= COUNT) { return true; } r

模板栈的实现

以下代码来自<C++编程思想>P410-模板介绍 #include<fstream> #include<iostream> #include<string> using namespace std; template<class T> class Stack { private: struct Link { T* data; Link* next; Link(T* da,Link* ne):data(da),next(ne){} }* head;

我的模板栈

1 template<typename T> 2 struct Node 3 { 4 T data; 5 Node<T>* next; 6 }; 7 8 template<typename T> 9 class stack 10 { 11 Node<T>* top; 12 public: 13 stack():top(NULL){} 14 void push(T n); 15 T pop(); 16 bool stackEmpty(); 17 T getTo

数据结构与算法系列研究二——栈和队列

栈和队列的相关问题分析 一.栈和队列定义 栈和队列是两种重要的数据结构.从结构特性角度看,栈和队列也是线性表,其特殊性在于它们的基本操作是线性表的子集,是操作受限的线性表,可称为限定性的数据结构:从数据类型角度看,其操作规则与线性表大不相同,是完全不同于线性表的抽象数据类型.                    图1 栈的结构                                                 图2 队列的结构   1.1.栈是限定在表的一端进行插入和删除操作的线性

栈_STACK的实现

栈_STACK 栈的基本操作 栈的代码实现 栈的C语言实现 栈的C实现 结论 本文中的完整代码你可以在这里: https://github.com/qeesung/algorithm/tree/master/chapter10/10-1/栈 或者这里: 顺序栈的实现:http://download.csdn.net/detail/ii1245712564/8744663 链式栈的实现:http://download.csdn.net/detail/ii1245712564/8744679 C语言

C++中template的简单用法

模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计.C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream.使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数.返回值取得任意类型. 一.函数模板 在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下: 1 void swap(int&a , int& b) { 2 int temp

[转]C++ Template

引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计.C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream. 函数模板 在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下: void swap(int&a , int& b) { int temp = a; a = b; b = temp;} 但是如果是要支持long,string,自定义class的swap函数

C++ Template(转)

引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计.C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream. 函数模板 在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下: void swap(int&a , int& b) { int temp = a; a = b; b = temp;} 但是如果是要支持long,string,自定义class的swap函数