不带头结点的链队列在初始化时首尾指针都指向空,其他思想和带头结点链队列类似
#includeusing namespace std; typedef struct LinkNode{ int data; struct LinkNode *next; }LinkNode; typedef struct LinkQueue{ LinkNode *front,*rear; }LinkQueue; void InitQueue(LinkQueue &Q){ Q.front = NULL; Q.rear = NULL; } bool IsEmpty(LinkQueue Q){ if(Q.front==NULL) return true; } bool EnQueue(LinkQueue &Q,int x){ LinkNode *s = new LinkNode; s->data = x; s->next = NULL; if(Q.front==NULL){ Q.front = s; Q.rear = s; }else{ Q.rear->next = s; Q.rear = s; } return true; } bool DeQueue(LinkQueue &Q,int &x){ if(Q.front==NULL) return false; LinkNode *s = Q.front; x = s->data; Q.front = s->next; if(Q.rear==s){ Q.front = NULL; Q.rear = NULL; } delete s; return true; } int main(){ LinkQueue Q; InitQueue(Q); IsEmpty(Q); EnQueue(Q,2); EnQueue(Q,3); int x; DeQueue(Q,x); cout << x; return 0; }



