stack(栈)和queue(队列)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41596915/article/details/86695584

stack函数
栈的性质是先进先出,栈顶进栈顶出,栈底不动

#include<stack>
using namespace std;

stack < int > S;//定义一个名为S的整型栈
S.empty();//检验S是否为空
S.push(i);//整型i入栈
S.top();//访问栈顶元素
S.pop();//栈顶元素出栈
S.size();//求栈内的元素个数
S1.swap(S2);//交换S1和S2中的元素

调试

#include<stack>
#include<iostream>
#include<string>
using namespace std;

void main()
{
	stack <int> S,S2;

	S.push(10);
	S.push(20);
	cout<<"栈内此时有两个元素,头指针的元素为20:"<<S.top()<<' '<<S.size()<<endl;

	if(!S.empty){
	cout<<"非空"<<endl;
	}
	else cout<<"空栈"<<endl;

	S.pop();
	S.top()-=1;
	cout<<"栈内此时有一个元素,头指针的元素减1后为9:"<<S.top()<<' '<<S.size()<<endl;
	
	S2.push(15);
	S2.push(25);
	S.swap(S2);
	cout<<"交换完S和S2的元素后S有一个元素,头指针的元素是25:"<<S.top()<<' '<<S.size()<<endl;


	system("pause");
}

在这里插入图片描述

queue函数
队列的性质是先进后出,队尾进队首出

#include<queue>
using namespace std;

queue < int > Q;//一个名为Q的整型队列
Q.push(i);//将整型i压入队尾
Q.pop();//队首元素出队
Q.front();//取队首元素(第一个进入队列)
Q.back();//取队尾元素(最后一个进入队列)
Q.size();//计算队列中的元素个数
Q.empty();//判断队列是否为空

调试

#include<iostream>
#include<queue>
using namespace std;

void main(){
	queue < int > Q;
	Q.push(10);
	Q.push(30);
	Q.push(20);//入队
	Q.pop();//队首元素出队
	cout<<"队首元素:"<<Q.front()<<endl;//取队首元素
	cout<<"队尾元素:"<<Q.back()<<endl;//取队尾元素
	cout<<"队列元素个数:"<<Q.size()<<endl;//计算对中元素个数


	if (!Q.empty()){
		cout<<"NO NULL!"<<endl;
	}
	else cout<<"NULL!"<<endl;

	system("pause");
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41596915/article/details/86695584