From 4e3bb70514f77502d3e6b28c02aa1853fd377a78 Mon Sep 17 00:00:00 2001 From: qualifier1024 <102360259+qualifier1024@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:43:08 +0800 Subject: [PATCH] Update array_stack.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 仿写的数组栈 --- .../chapter_stack_and_queue/array_stack.cpp | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/codes/cpp/chapter_stack_and_queue/array_stack.cpp b/codes/cpp/chapter_stack_and_queue/array_stack.cpp index e0112eda6..5315c1841 100644 --- a/codes/cpp/chapter_stack_and_queue/array_stack.cpp +++ b/codes/cpp/chapter_stack_and_queue/array_stack.cpp @@ -1,8 +1,44 @@ /* * File: array_stack.cpp - * Created Time: 2022-11-25 - * Author: Krahets (krahets@163.com) + * Created Time: 2022-11-28 + * Author: qualifier1024 (2539244001@qq.com) */ #include "../include/include.hpp" +#include +/* 基于数组(向量)实现的栈 */ +class ArrayStack { + vector vec; +public: + ArrayStack() { + // 初始化列表(动态数组) + vec = vector(); + } + /* 获取栈的长度 */ + int size() { + return vec.size(); + } + /* 判断栈是否为空 */ + bool isEmpty() { + return size() == 0; + } + /* 入栈 */ + void push(int num) { + vec.push_back(num); + } + /* 出栈 */ + int pop() { + int oldTop = vec.back(); + vec.pop_back(); + return oldTop; + } + /* 访问栈顶元素 */ + int top() { + return vec.back(); + } + /* 访问索引 index 处元素 */ + int get(int index) { + return vec.at(index); + } +};