#include using namespace std; #define MAXQSIZE 10

#define OK 1 #define ERROR 0 typedef int Status; typedef char QElemType;

typedef struct QNode { QElemType data; struct QNode *next; }QNode,*QueuePtr; typedef struct { QueuePtr front; QueuePtr rear; }LinkQueue;

Status InitQueue(LinkQueue &Q) { Q.front = Q.rear = new QNode; if(!Q.front) { exit(OVERFLOW); } Q.front->next = NULL; return OK; } Status EnQueue(LinkQueue &Q, QElemType &e) { QueuePtr p; p = new QNode; if(!p) { exit(OVERFLOW); } p->data = e; p->next = NULL; Q.rear->next = p; Q.rear = p; return OK; } Status DeQueue(LinkQueue &Q, QElemType &e) { if(Q.front == Q.rear) { return ERROR; } QueuePtr p; p = Q.front->next; e = p->data; Q.front->next = p->next; if(Q.rear == p) { Q.rear = Q.front; } delete p; return OK; } QElemType GetHead(LinkQueue Q) { if(Q.front != Q.rear) { return Q.front->next->data; } } Status queueTraverse(LinkQueue Q) { QueuePtr p; p = Q.front->next; while(p) { cout << p->data << " "; p = p->next; } cout << endl; return OK; }

int main() { LinkQueue Q; InitQueue(Q); QElemType e; char choice; cout << "Enter your choice: " << endl; cout << "1. EnQueue" << endl; cout << "2. DeQueue" << endl; cout << "3. GetHead" << endl; cout << "4. queueTraverse" << endl; cout << "q. Quit" << endl; while(cin >> choice) { switch(choice) { case '1': cout << "input the element you want to EnQueue: "; cin >> e; EnQueue(Q, e); break; case '2': DeQueue(Q, e); cout << "the element you DeQueue is: " << e << endl; break; case '3': cout << "the Head element is: " << GetHead(Q) << endl; break; case '4': queueTraverse(Q); break; case 'q': exit(0); } cout << "Enter your choice: " << endl; cout << "1. EnQueue" << endl; cout << "2. DeQueue" << endl; cout << "3. GetHead" << endl; cout << "4. queueTraverse" << endl; cout << "q. Quit" << endl; } return 0;

#include iostreamusing namespace std;#define MAXQSIZE 10#define OK 1#define ERROR 0typedef int Status;typedef char QElemType;typedef struct QNode	Begin		EndQNodeQueuePtr;typedef struct 	LinkQueue;Stat

原文地址: https://www.cveoy.top/t/topic/h2IL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录