💃🏼 本人简介:男
👶🏼 年龄:18
🚩 今日留言:亮亮被迫去练科目二啦,定时发布的文章,回来统一给大家三连回复嗷~😉
大家不妨想一下生活中,当我们往行李箱里放衣服时,是不是先放进去的衣服被压在最下面,最后才能取出来呢,而最后放进去的衣服最先拿出来呢。如果大家这都能理解的话,那恭喜大家,已经领悟到栈的精髓了哈!!具体特点我们接下来开始讲叭~
记得头文件
#include
stack stk;
stack采用模板类实现,stack对象的默认构造形式stack(const stack &stk);
拷贝构造函数stack operator=(const stack &stk);
重载等号操作符push (elem);
向栈顶添加元素pop ();
从栈顶移除第一个元素top ();
返回栈顶元素empty();
判断堆栈是否为空size();
返回栈的大小#include
#include
#include
using namespace std;void text01() {//特点:符合先进后出的数据结构stack s;s.push(10);s.push(20);s.push(30);s.push(40);cout << "栈的大小: " << s.size() << endl;//只要栈不为空,查看栈顶,并执行出栈操作while (!s.empty()) {//查看栈顶元素cout << "栈顶元素为: " << s.top() << endl;//出栈s.pop();cout << "栈的大小: " << s.size() << endl;}}
int main() {text01();return 0;
}
在已逝的2019-2022的三年,相信大家每天都有对核酸支配的经历。我们不妨回忆一下,我们排队做核酸时,先排队的A是不是最先做完可以走呢。而最后排队的B是不是最后一个做完,最后才能走呐??没错,这就是队列的精髓——先进先出!!!接下来关于队列的故事,我们慢慢讲!
记得头文件
#include
queue que;
queue采用模板类实现,queue对象的默认构造形式queue(const queue &que);
拷贝构造函数queue operator=(const queue &que);
重载等号操作符push (elem);
向队尾添加元素pop ();
从对头移除第一个元素back();
返回最后一个元素front ();
返回第一个元素empty();
判断队列是否为空size();
返回队列的大小#include
#include
#include
using namespace std;class Player {
public:Player(string name, int age) {this->m_name = name;this->m_age = age;}
public:string m_name;int m_age;
};
//队列queue
void text01() {//创建队列queue q;//准备数据Player p1("James", 38);Player p2("Irving", 30);Player p3("Durant", 34);Player p4("Rose", 34);Player p5("Curry", 34);//入队q.push(p1);q.push(p2);q.push(p3);q.push(p4);q.push(p5);cout << "出队前队列大小为: " << q.size() << endl;cout << "------------------------------------------" << endl;while ( !q.empty() ) {//只要队列不为空,查看队头和队尾cout << "队头为: ";cout << "姓名: " << q.front().m_name << " 年龄为: " << q.front().m_age << endl;cout << "队尾为: ";cout << "姓名: " << q.back().m_name << " 年龄为: " << q.back().m_age << endl;cout << "------------------------------------------" << endl;//出队q.pop();}cout << "出队后大小为: " << q.size() << endl;
}int main() {text01();return 0;
}
下一期预告:list容器