记录一下C语言实现的链队列代码,供大家参考,具体内容如下
创新互联建站成立于2013年,先为无极等服务建站,无极等地企业,进行企业商务咨询服务。为无极企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。#include#include #include typedef int ElemType; //链队列的结点定义 typedef struct node{ ElemType val; struct node* next; }QueueNode; //链队列的定义,包含队头指针和队尾指针 typedef struct queue { QueueNode* front; QueueNode* rear; }LinkedQueue; //初始化队列 LinkedQueue* initQueue() { LinkedQueue* queue = (LinkedQueue*)malloc(sizeof(LinkedQueue)); queue->front = (QueueNode*)malloc(sizeof(QueueNode)); queue->front->next = NULL; queue->rear = queue->front; } //元素入队 void enQueue(LinkedQueue* queue, ElemType elem) { QueueNode* node = (QueueNode*)malloc(sizeof(QueueNode)); node->val = elem; node->next = NULL; queue->rear->next = node; queue->rear = node; } //队列是否为空 bool isQueueEmpty(LinkedQueue* queue) { return queue->front == queue->rear; } //元素出队 ElemType deQueue(LinkedQueue* queue) { if(!isQueueEmpty(queue)) { QueueNode* p = queue->front; queue->front = p->next; ElemType e = queue->front->val; free(p); return e; } return NULL; } int main() { LinkedQueue* queue = initQueue(); int i; for(i = 0; i < 20; i++) { enQueue(queue, i); } while(!isQueueEmpty(queue)) { printf("deQueue: %d\n", deQueue(queue)); } return 0; }
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。