STL模板库-deque,stack,queue,list

STL模板库-deque,stack,queue,list

双端数组


前言

使用前需要加上头文件

#include
#include


提示:以下是本篇文章正文内容,下面案例可供参考

一、pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.deque遍历操作

两种遍历方式:一种只读,一种可读可写。

void rprint(deque<int>& d) {
   for (deque<int>::const_iterator flag = d.begin(); flag!=d.end(); flag++)//只读
        cout << *flag << " ";
   cout << endl;
}
void print(deque<int>& d) {
    for (deque<int>::iterator flag = d.begin(); flag != d.end(); flag++)//可读可写
        cout << *flag << " ";
    cout << endl;
}

2.deque插入与删除

d.push_back(i);//尾插
d.push_front(i);//头插
d.pop_back();//尾删
d.pop_front();//头删

3.deque查找与排序

   cout << "第一个元素是:" << d.front()<<endl;
   cout << "最后一个元素是:" << d.back() << endl;
   sort(d.begin(),d.end());//升序

4.stack

#include<iostream>
#include<stack>
using namespace std;
void text() {
    stack<int>s;
    s.push(10);//放元素
    s.pop();//从栈底删除(出栈)
    s.top();//查看栈顶元素
    s.size();//栈的大小
    s.empty();//是否为空
}
int main() {
    text();
}

5.queue 先进先出 排队

#include<iostream>
#include<queue>
#include<string>
using namespace std;
class person {
public:
    person(string name, int age) {
        this->age = age;
        this->name = name;
    }
    int age;
    string name;
};
void text() {
    //queue<int>q;
    //q.push(10);//入队
    //q.pop();//出队
    //q.front();//队头
    //q.back();//队尾
    queue<person>q;
    person p("小明", 23);
    person p1("小红", 29);
    person p2("小花", 20);
    person p3("小李", 22);
    q.push(p);
    q.push(p1);
    q.push(p2);
    q.push(p3);
    cout << q.front().name<<" "<<q.back().name;
}
int main() {
    text();
}

6.list链表

#include<iostream>
#include<list>
#include<string>
#include<algorithm>
using namespace std;
void print(const list<int>& l) {
    for (list<int>::const_iterator it = l.begin(); it != l.end(); it++)
        cout << *it << " ";
    cout << endl;
}
void text() {
    list <int>l;//默认构造,区间构造,拷贝构造,n个元素构造
    l.push_back(10);
    l.push_back(12);
    l.push_back(18);//支持头删,尾删,头加,尾加
    print(l);
    l.remove(10);
    print(l);
    list<int>::const_iterator it = l.begin();
    l.insert(++it, 20);
    print(l);
    //it+=1;如果成立,支持随机访问
    l.erase(it);
    print(l);
    cout << "第一个元素是:" << l.front()<<" ";
    cout << "最后一个元素是:" << l.back()<<endl;
    l.reverse();//反转
    print(l);
    l.sort();//排序 如果是自定义数据类型 则需要自己制定规则
    print(l);
}
int main() {
    text();
}

总结

没啥可写的,以后再更。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码有点萌

谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值