c++STL库队列

1.queue单向队列(先进先出,只能从尾端加元素,从头删元素)

        使用方式:在前面加上文件名‘#include<queue>’,再进行声明'queue<int>m;'’其中’<>‘里面是数组的类型,‘m’是数组的名字。

        操作:
        1.q.push()//入队
        2.q.pop()//让队首出队
        3.q.front()//获得队首元素
        4.q.back()//获得队尾元素

        5.q.empty() 队列是否为空
        6.q.size() 返回队列内元素个数 

#include<iostream>
#include<queue>
using namespace std;
int main() {
	int i;
	queue<int>m;
	for ( i = 0;i < 5;i++) {
		m.push(i);//让元素入队
	}
	cout << m.size() << endl;//统计m中元素的个数
	for (i = 0;i < 5;i++) {
		cout<<m.front();//获得队首元素
		//m.pop();//弹出队首元素
	}
	return 0;
}

上面代码运行后由于没有讲队首元素给弹出,输出的都是是一样的,因此为了能让m中的每一个元素输出,我们应该及时的将队首元素给弹出,再每次输出第一个元素的时候及时的将它给弹出。

#include<iostream>
#include<queue>
using namespace std;
int main() {
	int i;
	queue<int>m;
	for ( i = 0;i < 5;i++) {
		m.push(i);//让元素入队
	}
	cout << m.size() << endl;//统计m中元素的个数
	for (i = 0;i < 5;i++) {
		cout<<m.front();//获得队首元素
		m.pop();//弹出队首元素
	}
	return 0;
}

这样我们就能将m中的所有元素给输出。

2.deque双向列队(即能从头部加入元素又能从尾部加入元素,元素进入按抽屉原理,最后进最先出)

         使用方式:在前面加上文件名‘#include<deque>’,再进行声明‘deque<int>m;

        操作:
        1.q.push_back()//尾部插入
        2.q.push_front()//头部插入
        3.q.pop_front()//头部删除
        4.q.pop_back()//尾部删除
        5.q.front()//返回第一个元素
        6.q.back()//返回最后一个元素

#include<iostream>
#include<deque>
using namespace std;
int main() {
	int i;
	deque<int>m;
	for ( i = 0;i < 5;i++) {
		m.push_front(i);//让元素从头部入队
	}
	cout << m.size() << endl;//统计m中元素的个数
	for (i = 0;i < 5;i++) {
		cout<<m.front();//获得队首元素
		m.pop_front();//从头部弹出队首元素
	}
	return 0;
}

 3.vector(长度可变的数组)

        使用方法:在前面加上文件名‘#include<vector>',再进行声明‘vector<int>m;’。

        操作

        1.m.push_back()//输入元素
        2.m.pop_back()//删除最后一个元素
        3.m.size()//得到vector的大小
        4.m.clear()//清空容器中所有数据
        5.m.empty()//判断vector是否为空
        6.m.front()//引用第一个元素
        7.m.back()//引用最后一个元素

 

#include<iostream>
#include<vector>
using namespace std;
int main() {
	int i;
	vector<int>m;
	for ( i = 0;i < 5;i++) {
		m.push_back(i);//让元素入队
	}
	cout << m.size() << endl;//得到vector容器的大小
	for (i = 0;i < 5;i++) {
		cout << m.back();//获得尾部元素
		m.pop_back();//从尾部弹出元素
	}
	cout << endl;
	for (i = 0;i < 5;i++) {
		m.push_back(i);
	}
	cout << m.size() << endl;
	m.clear();//清除m中所有元素
	cout << m.size() << endl;
	return 0;
}

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值