数据结构c语言链队
程序员文章站
2024-01-05 12:06:58
//---------单链队-队列的链式存储------------
#include
#include
typedef int qelemtype;
typedef struct qn...
//---------单链队-队列的链式存储------------ #include #include typedef int qelemtype; typedef struct qnode { qelemtype data; struct qnode *next; }qnode,*queueptr; typedef struct { queueptr front ; queueptr rear; }linkqueue; int initqueue(linkqueue q) { q.front=q.rear=(queueptr)malloc(sizeof(qnode)); if(!q.front) exit(0); q.front->next=null; return 1; } int destoryqueue(linkqueue &q) { while(q.front) { q.rear=q.front->next; free(q.front); q.front=q.rear; } return 1; } int enqueue(linkqueue &q,qelemtype e) { queueptr p; p=(queueptr)malloc(sizeof(qnode)); if(!p) exit(0); p->data=e;p->next=null; q.rear->next=p; q.rear=p; return 1; } int dequeue(linkqueue &q,qelemtype &e){ queueptr p; if(q.front==q.rear) return 0; p=q.front->next; e=p->data; q.front->next=p->next; if(q.front==p) q.rear=q.front; free(p); return 1; } void main() { linkqueue q; qelemtype e; initqueue(q); enqueue(q,1); enqueue(q,1); dequeue(q,e); }