队列 queue

 1.认识队列
 (1)队列:先进先出(FIFO,First in first out)的线性
表,最先插入的元素最先出来。
 (2)队列的基本操作
入队:在队列的尾部添加新元素
出队:移除队头元素

const int Max=10000;
int que[Max];//数组队列
int head=0, tail =- 1, sum=0;
void push(int x)//把x入队
{
    tail++;
    que[tail]=x;
    //que[++tail]=x;
    sum++;
}


void pop ()
{
    head++;
    sum-;
}


2.循环队列
循环队列是一种基于先进先出原则 并 将队尾连接到队首形成一个环的特殊数据结构。变化时,加一个模除长度

tail = (tail+1)%size;
head = (head+1)%size;
 

 3. STL中的queue
 (1)创造一个队列:queue<数据类型>名字;
 (2)queue的成员函数

push(x);    //在队列末尾加入一个元素x,无返回值
pop();      //删除队列第一个元素,无返回值
front();    //返回第一个元素,即队首元素
back();    //返回最后一个元素,即队尾元素
empty();    //如果队列空则返回真,返回值是bool类型。
size();     //返回队列中元素的个数
 

 (3)头文件:#include<queue>

queue<int> q;
q. push(1) ;
q. push(2) ;
cout << q.front() << endl;//输出1
cout << q.back() << endl;//输出2
cout << q.size() << endl;//输出2
cout << q. empty( )<< endl;//输出0
q.pop(); //删掉了1
cout << q.front( )<< endl;//输出2

while(!q.empty())//依次出队并输出出队序列
{
    cout << q. front () << " ";
    q. pop () ;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值