#includeusing namespace std; struct node//节点 { int date; node* next; }; struct queue//队列结构 { node* front; node* rear; int size = 0; }; void initQueue(queue &q)//初始化队列 { node* cur = new node; cur->next = NULL; q.front =cur; q.rear = cur; } void push(queue& q, int& a)//入队 { node* cur=new node; cur->date = a; cur->next = NULL; q.rear->next = cur; q.rear = cur; q.size++; } void printOut(queue& q) { node* t; t = q.front->next; while (t) { cout << t->date <<" "; t = t->next; } return; } bool empty(queue& q) { return (q.front == q.rear); } void pop(queue& q)//出队 { if (empty(q))//出队前判断队列是否已经空了 { cout << "队列空" << endl; } else { node* temp; temp = q.front->next; q.front->next = temp->next; delete temp; } } void test01()//测试用例 { queue q; initQueue(q); int a = 5; push(q, a); int b = 10; push(q, b); printOut(q); cout << endl; pop(q); printOut(q); cout << endl; pop(q); printOut(q); } int main() { test01(); return 0; }



