队列
一个线性表,在一端放入数据,在另一端弹出数据,先放入的数据先弹出。
与链表的实现方式基本相同
数组模拟的队列的基本操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
   | #include <iostream>
  using namespace std;
  const int N = 100010;
 
  int queue[N], head, tail = -1;
 
 
  void push(int x) {     queue[++tail] = x; }
  string ifempty() {     if (head > tail)         return "YES";     else         return "NO"; }
  void pop() {          head++; }
  int query() {     return queue[head]; }
  int main() {     int m;     cin >> m;     string op;     while (m--)     {         cin >> op;         if (op == "push")         {             int x;             cin >> x;             push(x);         }         else if (op == "pop")         {             pop();         }         else if (op == "empty")         {             cout << ifempty() << endl;         }         else             cout << query() << endl;     }     return 0; }
   |