队列的概念:
队列中的数只能“先进先出”,即数只能从后面进,从前面出。从字面意思理解,就像队列一样,先来的人排在前面,且先到他,后来的人排在队伍后面,只能等前面的人都完成后才能到他。
队列的基础:
主要的入对push,和出队pop。
定义数组为队列,定义一个back为对尾,定义一个front为对头。
入队时每次都将输入的数存入队尾,并将队尾后移。
出队时直接输出对头,输出后将对头后移,使对头再次存在数。
代码如下:
#include<iostream> //队列 using namespace std; const int max_n = 1e5+10; int Q[max_n]; //定义队列数组 int front = 0; //队列的头 int back = 0; //队列的尾 void push(int x) //入队 { Q[back ++] = x; //数只能从队尾进,并在数进入后对尾加一 } int pop() //出队 { return Q[front++]; //数只能从队头出,并在数出去后对头加一 } int main() { cout<<"请输入有多少个数:"; int n; cin>>n; cout<<"请输入这些数:"<<endl; for(int i = 0 ; i < n ; i ++){ int x; cin>>x; push(x); //引用入栈函数 } for(int i = 0 ; i < n ; i ++){ cout<<pop()<<" "; //引用出栈函数 } return 0; }
结果如下: