数据结构之栈 妖狐艹你老母 2022-05-27 05:39 197阅读 0赞 头文件: using namespace std; template <class T> class MyStack { public: MyStack(int size); //构造函数,传入栈容量 ~MyStack(); //析构函数 void clear(); //清除 bool isFull(); //判断栈是否已满 bool isEmpty(); //判断栈是否为空 int length(); //获取栈长度 bool push(T ele); //入栈 bool pop(T &ele); //出栈 void printAll(); //打印栈内容 private: int m_iTop; T *m_pBuffer; int m_iSize; }; template <class T> MyStack<T>::MyStack(int size) { m_iSize = size; m_pBuffer = new T[size]; } template <class T> MyStack<T>::~MyStack() { delete []m_pBuffer; } template <class T> void MyStack<T>::clear() { m_iTop = 0; } template <class T> bool MyStack<T>::isFull() { return m_iTop >= m_iSize; } template <class T> bool MyStack<T>::isEmpty() { return m_iTop == 0; } template <class T> int MyStack<T>::length() { return m_iTop; } template <class T> bool MyStack<T>::push(T ele) { if (isFull()) return false; m_pBuffer[m_iTop] = ele; m_iTop++; return true; } template <class T> bool MyStack<T>::pop(T &ele) { if (isEmpty()) return false; m_iTop--; ele = m_pBuffer[m_iTop]; return true; } template <class T> void MyStack<T>::printAll() { for (int i = 0; i < length(); i++) { cout << m_pBuffer[i] << endl; } } 测试: #include <iostream> #include <stdlib.h> #include "MyStack.h" using namespace std; int main(void) { MyStack<int> stack(5); stack.push(1); stack.push(2); stack.push(3); stack.push(4); stack.push(5); stack.push(6); cout << "===printall===" << endl; stack.printAll(); cout << "===printall===" << endl; int ele; stack.pop(ele); cout << "pop : " << ele << endl; cout << "===printall===" << endl; stack.printAll(); cout << "===printall===" << endl; system("pause"); return 0; }
相关 数据结构之栈 一.什么是栈? 本文将介绍一个重要的数据结构—栈,和之前讲到的链表、数组一样也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数据。栈就像是一摞书, た 入场券/ 2022年10月14日 10:49/ 0 赞/ 171 阅读
相关 数据结构之栈 栈的介绍 1)栈是一个先入后出的有序列表 2)允许插入和删除的一端,为变化的一端,称为栈顶,另一端是固定的一端,为栈底 数组模拟栈 ![在这里插入图片描述][ ╰+攻爆jí腚メ/ 2022年08月31日 13:23/ 0 赞/ 164 阅读
相关 数据结构之栈 栈是一种先进后出的线性结构,只允许在一端插入删除,属于逻辑结构。 栈的定义 package com.zhiru; / 栈是一种先进后出 男娘i/ 2022年08月11日 03:27/ 0 赞/ 178 阅读
相关 数据结构之栈 1、定义:栈(stack)是限制在插入和删除只能在一个位置进行操作的一种表结构,该合位置是表的末端,称作栈顶(top),对栈的基本操作的push()进栈和pop()出栈,一般栈 ╰半夏微凉°/ 2022年08月06日 01:05/ 0 赞/ 196 阅读
相关 数据结构之栈 栈是一种数据结构,特点是先进后出。比较通俗的说那就一个容器一端是封闭的,只能是先来的后出去。 先是写一个使用数组的栈类ArrayStack. / ArraySt 秒速五厘米/ 2022年07月12日 03:43/ 0 赞/ 216 阅读
相关 数据结构之栈 头文件: using namespace std; template <class T> class MyStack { 妖狐艹你老母/ 2022年05月27日 05:39/ 0 赞/ 198 阅读
相关 数据结构之栈 一、顺序栈 1.0 理解栈 栈是一种比线性表还要简单的数据结构,因为他就是对线性表的限制后的数据结构 即 只允许在线性表的尾部进行插入和删除操作 偏执的太偏执、/ 2022年05月25日 02:37/ 0 赞/ 242 阅读
相关 数据结构之栈 什么是栈 从栈的操作特性上来看,栈是一种 “操作受限”的线性表,只允许在一端插入和删除数据,且满足先进后出、后进先出的特性。 实现一个栈 栈可以用数组或链表来实现 Bertha 。/ 2022年05月16日 14:29/ 0 赞/ 230 阅读
相关 数据结构之栈 数据结构栈的相关学习: 简介 限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端成为栈顶,另一端成为栈低,不含任何元素的栈成为空栈,栈又称为先进先出的线性表 今天药忘吃喽~/ 2022年02月05日 05:09/ 0 赞/ 281 阅读
还没有评论,来说两句吧...