`
touchinsert
  • 浏览: 1329846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

stack,queue,vector用法

 
阅读更多

分别包含在文件<stack>,<queue>,<vector>

定义:
stack<class T> s;
queue<class T> q;
vector<class T> v;
stack的方法:
push()的向容器顶部里插入元素;
pop()是删除容器顶部的元素;
top()返回容器顶部的元素;
size()返回容器的元素个数;
begin()是返回一个位于容器的第一个元素的迭代器;
end()当然是最后了;
empty()是检查是否为空的方法 

queue的方法,它和stack很像:
back()返回队列最后一个元素引用
empty()是检查是否为空的方法 
front()获得队列最前面一个元素引用
push()在队列尾添加一个数据
pop()删除队列头的一个数据
size()队列中元素个数

vector的方法
vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可

以在运行时高效地添加元素,并且vector中元素是连续存储的。
vector的构造函数:
vector<string> v1; // 创建空容器,其对象类型为string类
vector<string> v2(10); // 创建有10个具有初始值(即空串)的string类对象的容器
vector<string> v3(5, "hello"); // 创建有5个值为“hello”的string类对象的容器
vector<string> v4(v3.begin(), v3.end()); // v4是与v3相同的容器(完全复制)

void push_back(x); // 向容器末尾添加一个元素
void pop_back(); // 弹出容器中最后一个元素(容器必须非空)
vector<int>::iterator iter=v.begin();//初始化迭代器,让他指向v的开始。
iterator erase(iterator it); // 删除指定元素,并返回删除元素后一个元素的位置(如果

无元素,返回end())
iterator erase(iterator first, iterator last); // 注意:删除元素后,删除点之后的元

素对应的迭代器不再有效。void clear() const; // 清空容器,相当于调用erase( begin(),

end())
void reserve(size_type n); // 确保capacity() >= n

queue的方法,它和stack很像:
back()返回队列最后一个元素引用
empty()是检查是否为空的方法 
front()获得队列最前面一个元素引用
push()在队列尾添加一个数据
pop()删除队列头的一个数据
size()队列中元素个数

vector的方法
vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可

以在运行时高效地添加元素,并且vector中元素是连续存储的。
vector的构造函数:
vector<string> v1; // 创建空容器,其对象类型为string类
vector<string> v2(10); // 创建有10个具有初始值(即空串)的string类对象的容器
vector<string> v3(5, "hello"); // 创建有5个值为“hello”的string类对象的容器
vector<string> v4(v3.begin(), v3.end()); // v4是与v3相同的容器(完全复制)

void push_back(x); // 向容器末尾添加一个元素
void pop_back(); // 弹出容器中最后一个元素(容器必须非空)
vector<int>::iterator iter=v.begin();//初始化迭代器,让他指向v的开始。
iterator erase(iterator it); // 删除指定元素,并返回删除元素后一个元素的位置(如果

无元素,返回end())
iterator erase(iterator first, iterator last); // 注意:删除元素后,删除点之后的元

素对应的迭代器不再有效。void clear() const; // 清空容器,相当于调用erase( begin(),

end())
void reserve(size_type n); // 确保capacity() >= n

分享到:
评论

相关推荐

    C++ STL Adaptor stack、queue和vector的使用.doc

    C++ STL Adaptor stack、queue和vector的使用 C++ STL 提供了多种容器类,包括 stack、...以上就是 C++ STL 中 stack、queue 和 priority queue 的使用方法和常见操作。这些容器类可以方便地实现各种数据结构和算法。

    map,list,set,stack,queue,vector等区别和特点1

    本文将深入探讨标题和描述中提到的一些关键集合类型,包括Map、Set、List、Queue、Stack以及它们的特点和用法。 首先,Collection接口是所有集合类型的父接口,它分为两个主要子接口:List和Set。List接口用于存储...

    C++中stack,queue,vector的简单用法1

    在C++编程语言中,`stack`、`queue`和`vector`是三种常见的容器类,它们分别提供了栈、队列和动态数组的功能。以下是关于这三个容器的详细说明: 1. **栈(stack)** 栈是一种后进先出(Last In First Out, LIFO)...

    c++stack_和_queue用法

    本文详细介绍了C++ STL中的`stack`、`queue`和`priority_queue`的使用方法。通过这些容器,可以有效地处理各种数据结构问题,如逆波兰表达式求值、括号匹配、任务调度等。掌握这些容器的使用不仅能够提高编程效率,...

    C++中stack、queue、vector的用法详解

    本文将通过实例代码详细介绍stack、queue、vector的用法和常用方法。 一、栈(stack) 栈是一种后进先出的数据结构,常用的方法有empty()、pop()、push()、size()、top()等。引入头文件#include&lt;stack&gt;。 * empty...

    C++ stack 和 queue 的笔记

    vector&lt;stack&lt;int&gt;&gt; s(n); // 创建 n 个整型栈 ``` ##### 3. 栈的常用成员函数 - `empty()`:检查栈是否为空。 - `pop()`:移除栈顶元素。 - `push(T)`:向栈顶添加一个新元素 T。 - `size()`:返回栈中元素的数量...

    Java_Stack_Queue:Java中使用链表的堆栈和队列实现

    在Java中,`java.util.Stack` 类提供了对堆栈操作的支持,但它实际上是基于`Vector`类实现的,而不是链表。然而,为了理解链表如何实现堆栈,我们可以自己创建一个基于`java.util.LinkedList` 的堆栈类。`LinkedList...

    C++ STL容器stack和queue详解

    stack是一个比较简单的容器... //使用vector初始化stack ### stack常用方法### empty();//判断是否为空 push(Elem e);//栈顶压入一元素 pop();//弹出栈顶元素 top();//返回栈顶元素 size();//返回栈中元素个数

    【c++】深入剖析与动手实践:C++中Stack与Queue的艺术.txt

    - `std::stack`是一个模板类,内部使用容器(如`std::vector`或`std::deque`)作为基础数据结构。 - 提供了`push`, `pop`, `top`, `empty`等成员函数。 - **std::queue**: - `std::queue`同样是一个模板类,使用...

    C++ 模板类 vector

    2. **适配器**:STL还提供了`stack`、`queue`、`priority_queue`等适配器,它们基于`vector`提供特定的队列和堆数据结构。 五、注意事项 - 避免在循环中使用`push_back()`,这可能导致不断重新分配内存,影响效率...

    STL(学习打卡记录)较详细

    Vector的使用方法如下: * 声明:`vector&lt;int&gt; arr;` * 添加元素:`arr.push_back(1);` * 删除元素:`arr.pop_back();` * 获取数组长度:`arr.size();` * 清空数组:`arr.clear();` * 判断数组是否为空:`arr.empty...

    Lists_Stack_Queue_PriorityQueue.java

    在`Lists_Stack_Queue_PriorityQueue.java`这个文件中,很可能是包含了使用这些数据结构的示例代码。`main`函数通常是程序的入口点,这里可能会演示如何创建、操作和管理这些数据结构的实例,以展示它们的功能和用法...

    区别和联系-list-map-set-vector

    此外,LinkedList 支持额外的操作,如栈(Stack)和队列(Queue)行为。 - **Vector**: Vector 类似于 ArrayList,但它是线程同步的,这意味着多个线程可以安全地访问同一个 Vector 对象。然而,这种同步也会带来...

    C++中STL使用总结

    C++ STL是C++标准模板库(Standard Template Library)...本文档总结了C++ STL中主要容器和算法的使用方法,对于学习和实际应用C++标准模板库有很大的帮助。掌握这些内容,可以提高编程效率,方便地处理各种数据结构。

    C++_STL使用例子大全

    C++标准模板库(STL)是C++语言的一个重要组成部分,它提供了大量通用数据结构和算法的实现。...上述代码示例从基础的容器使用方法入手,逐步深入到STL的各个组成部分,是快速上手练习STL的优秀资源。

    部分Java数据结构使用

    为了更深入地了解这些数据结构,可以参考JDK_API_1_6_zh_CN.CHM文件,这是一个包含Java 1.6 API文档的CHM帮助文件,其中详细解释了各种类和接口的使用方法。此外,Demo_5可能是包含示例代码的文件,通过运行和分析...

    第8讲 C++ STL1

    在本讲中,我们将重点讨论几种常用的STL容器:vector、queue、stack、deque以及set。 1. **vector** - `vector`是一个动态数组,可以方便地在末尾添加和删除元素,支持随机访问。声明`vector&lt;int&gt; a`创建了一个...

    C++ push方法与push_back方法的使用与区别

    push 方法主要用于 stack 和 queue 等数据结构,而 push_back 方法主要用于 vector 等数据结构。 下面是对 push 方法和 push_back 方法的使用和区别的详细介绍: push 方法的使用: * stack::push():在栈顶增加...

Global site tag (gtag.js) - Google Analytics