C++-15-STL(vector_deque_stack)

STl:标准模板库

STL(vector)

序列式容器:vector

//STL-vector
//vector容器包含的成员函数链接网站:http://www.cplusplus.com/reference/vector/vector/
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    //创建存储double数据类型的一个vector容器v1
    vector<double>v1;

    //创建容器v2同时进行初始化元素个数
    vector<int>v2{ 34,65,78,90,28,56,98,77,81,19 };

    //创建vector容器,指定个数为50
    vector<int>v3(50);

    //创建vector容器,拥有10个字符为'A'
    vector<char>v4(10, 'A');

    //将v4赋给v5
    vector<char>v5(v4);

    int a[] = { 10,20,30 };
    vector<int>v6(a, a + 2);//v6会保存10,20
    vector<int>v7{ 1,2,3,4,5,6,7,8,9,10 };
    vector<int>v8(begin(v7), begin(v7) + 3);//v8保存1,2,3

    return 0;
}
#include <iostream>
#include <vector>
using namespace std;

int main()
{
   //定义一个空的vector容器
    vector<char>vi;
    //向容器添加STLTEMPLATE
    vi.push_back('S');
    vi.push_back('T');
    vi.push_back('L');
    vi.push_back('T');
    vi.push_back('E');
    vi.push_back('M');
    vi.push_back('P');
    vi.push_back('L');
    vi.push_back('A');
    vi.push_back('T');
    vi.push_back('E');

    //输出容器vi元素的个数
    cout << "元素个数为:" << vi.size() << endl;
    //遍历容器
    cout << "\n输出vi容器数据元素:\n";
    for (auto i = vi.begin(); i < vi.end(); i++)
        cout << " " << *i << " ";
    cout << endl;

    //--------------------------------------------------
    //插入数据元素到头部
    vi.insert(vi.begin(), 'V');
    //遍历容器
    cout << "\n输出vi容器数据元素:\n";
    for (auto i = vi.begin(); i < vi.end(); i++)
        cout << " " << *i << " ";
    cout << endl;

    //---------------------------------------------------
        //插入数据元素到头部
    vi.insert(vi.end(), 'I');
    //遍历容器
    cout << "\n输出vi容器数据元素:\n";
    for (auto i = vi.begin(); i < vi.end(); i++)
        cout << " " << *i << " ";
    cout << endl;
   
    cout << "输出vi容器首个元素为:" << vi.at(0) << endl << endl;
    return 0;
}

STL(deque)

双端队列容器

//STL-deque
//deque容器可利用的成员函数链接网站:http://en.cppreference.com/w/cpp/container/deque
#include <iostream>
#include <deque>
using namespace std;

int main()
{
    //创建deque容器,没有任何数据元素
    deque<int>d1;

    //创建deque容器且有50个元素
    deque<int>d2(50);

    //创建一个具有9个元素的deque容器,且初始化值
    deque<int>d3(9,888);

    //容器之间可以赋值
    deque<int>d4(10);
    deque<int>d5(d4);

    return 0;
}
#include <iostream>
#include <deque>
using namespace std;

int main()
{
    //定义一个空的容器
    deque<int>d1;
    //向容器尾部插入数字
    d1.push_back(10);
    d1.push_back(20);
    d1.push_back(30);
    d1.push_back(40); 
    d1.push_back(50);
    d1.push_back(60);
    d1.push_back(70);
    d1.push_back(80);
    d1.push_back(90);
    d1.push_back(100);

    //输出容器d1元素的个数
    cout << "输出d1容器元素个数为:" << d1.size() << endl;

    //向d1容器尾部添加数据元素值
    d1.push_back(888);

    //输出容器所有元素值
    cout << "\n输出d1容器所有元素值:" << endl;
    for (auto i = d1.begin(); i < d1.end(); i++)
        cout << " " << *i << " ";
    cout << endl;
    
    //删除容器头部的数据元素值
    d1.pop_front();
    //输出容器所有元素值
    cout << "输出d1容器所有元素值:\n";
    for (auto i = d1.begin(); i < d1.end(); i++)
        cout << " " << *i << " ";
    cout << endl;

    return 0;
}

STL(stack)

容器适配器—封装了序列容器的类模板
只能访问stack顶部的元素,只有在移除stack顶部的元素后,才能访问下方的元素

//STL-stack
//stack容器适配器可利用的成员函数链接网站:https://cplusplus.com/reference/stack/stack/
#include <iostream>
#include <stack>
#include<list>
using namespace std;

int main()
{
    //创建stack容器适配器
    list<int>ls{ 11,22,33,44,55,66,77,88,99 };
    stack<int, list<int>> mystack(ls);
    //查询mystack存储元素的个数
    cout << "mystack栈容器元素个数为:" << mystack.size() << endl;
    
    //输出栈容器数据元素的值
    cout << "\n\n输出栈容器元素的值:" << endl;
    while (!mystack.empty())//没有元素返回真,否则返回假
    {
        cout << mystack.top() << " ";
        //将栈顶元素弹出去
        mystack.pop();
    }
    cout << endl;
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值