做机械设计图纸找什么网站?,工业设计在线官网,加工平台制作,大专网页设计工资怎么样vector 是 stl 的一个关联容器,名叫“栈”#xff0c;何为“栈”#xff1f;其实就是一个数组#xff0c;但有了数组何必还需栈#xff0c;这是一个高深的问题。 一、简介 1. 定义 栈#xff0c;是一个柔性数组#xff08;可变长数组#xff09;#xff0c;可以变大变小…vector 是 stl 的一个关联容器,名叫“栈”何为“栈”其实就是一个数组但有了数组何必还需栈这是一个高深的问题。 一、简介 1. 定义 栈是一个柔性数组可变长数组可以变大变小但是和队列不一样栈是先进后出FILO就说栈只能在一端入栈或者出栈。如下在…一段可以出栈或者入栈。 栈 2. 实现 栈的实现离不开 deque双向队列双向队列则使用了 allocator 即分配器 _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17_Tp* allocate(size_t __n) {if (__n allocator_traitsallocator::max_size(*this))__throw_length_error(allocatorT::allocate(size_t n) n exceeds maximum supported size);if (__libcpp_is_constant_evaluated()) {return static_cast_Tp*(::operator new(__n * sizeof(_Tp)));} else {return static_cast_Tp*(_VSTD::__libcpp_allocate(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)));}} 二、应用 1.定义 包含 stack 头文件 #include vector 和一般模板类一样先写类型名再填模板最后写变量名 stack int MyStack;
三、相关函数 1. push 入栈 MyStack.push(0); 2. swap 交换两个 stack MyStack.swap(tmp); 3. pop 出栈 MyStack.pop(); 4. size 查看 stack 大小 cout MyStack.size(); 5. top 返回栈顶元素 cout MyStack.top();
你学会了吗