没有永远的恶人也没有永远的好人 只是目的不同罢了 主教大人很高兴知道你,希望你在有卡莲的世界幸福
留下最初的感到 感谢逝去的青春 与那些指引着我的人
queue(队列)容器
queue容器基本概念
概念:queue是一种先进先出的数据结构,它有两个出口
先进先出
队列容器允许从一端新增元素,从另一端移除元素
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
队列中进数据称为---入队push
队列就像一个通着的水管 入队像水随着水进推着向前
queue 容器的操作(表格)
函数 | 意义 | 使用 |
---|---|---|
push(elem) | 往队尾添加元素 | juese b; a.push(b); |
pop() | 从队头移除第一个元素 | a.front().printjuese(); //不用 a.back().printjuese(); cout << endl; a.pop(); |
back() | 返回最后一个元素 | 专门查看专门调用 类遍历因为头删所以只看头 |
front() | 返回第一个元素 | a.front().printjuese(); //不用 a.back().printjuese(); cout << endl; a.pop(); |
empty() | 判断堆栈是否为空 | if (a.empty()) { cout << "队列为空" << endl; } else { cout << "队列不为空" << endl; cout << "队列中存储元素数为"<<a.size() << endl; } |
size() | 返回栈的大小 | cout << "队列中存储元素数为"<<a.size() << endl; |
queue常用接口
功能描述:栈容器常用的对外接口
构造函数
赋值操作
数据存取
大小操作
#include<iostream>
#include<string>
#include<queue>
using namespace std;
class juese
{
public:
string name;
string shuxing;
int hexinmingzuo;
juese() //juese(int num)对应那5个一起的构造
{
cout << "输入角色姓名" << endl;
cin >> name;
cout << "输入角色属性" << endl;
cin >> shuxing;
cout << "输入角色核心命坐" << endl;
cin >> hexinmingzuo;
}
public:
void printjuese()
{
cout << name<<"为"<<shuxing<<"属性角色,核心命坐为"<<hexinmingzuo<<"命"<< endl;
}
};
void printevery(queue<juese>a)
{
int b = a.size();
for (int i = 0; i < b; i++)
{
a.front().printjuese(); //不用 a.back().printjuese();
cout << endl;
a.pop();
}
}//因为是队头删除 所以要先看 看完删
void empty(queue<juese>a)
{
if (a.empty())
{
cout << "队列为空" << endl;
}
else
{
cout << "队列不为空" << endl;
cout << "队列中存储元素数为"<<a.size() << endl;
}
}
void add(queue<juese>& a)
{
/*/for (int i = 0; i < b; i++)
{
juese b[5] = {1,2,3,2,5 };
}*/
juese b;
a.push(b);
}
int main()
{
queue<juese>a;
int b;
cout << "输入要存入的角色数" << endl;
cin >> b;
for (int i = 0; i < b; i++)
{
add(a);
}
printevery(a);
empty(a);
system("pause");
return 0;
}