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();
}
总结
没啥可写的,以后再更。