ZIPc语言队列实现(不强制数据类型,包含三种实现) 2.57KB

Waiting_Love

资源文件列表:

queue.zip 大约有3个文件
  1. QueueArrayDynamic.h 2.03KB
  2. QueueArrayFix.h 1.92KB
  3. QueueLink.h 2.1KB

资源介绍:

c语言队列实现(不强制数据类型,包含三种实现)
#include<stdio.h> #include<stdlib.h> void helloQueueLink(){ printf("%s\n","hello LinkedQueue!"); } //队列节点 typedef struct QueueNode{ void* data; struct QueueNode *next;//后继元素 struct QueueNode *front;//前驱元素 }QueueNode; //队列对象(链式队列) typedef struct LinkedQueue{ QueueNode *head; //队列头 QueueNode *rear; //队列尾 int size; //最大容量 }LinkedQueue; //创建队列,队列长度固定且默认,由size决定 LinkedQueue* createQueueLink(){ LinkedQueue* queue = (LinkedQueue*) malloc(sizeof(LinkedQueue)); queue->size = 0; queue->head = (QueueNode*)malloc(sizeof(QueueNode)); queue->rear = queue->head; queue->rear->next = NULL; queue->rear->front = NULL; return queue; } //队列是否已空 int linkedQueueIsEmpty(LinkedQueue *queue){ if(queue->size == 0){ return 1; }else{ return 0; } } //链式队列不会满 //入队列 void linkedQueueEnQueue(void* val,LinkedQueue *queue){ QueueNode *node = (QueueNode*)malloc(sizeof(QueueNode)); node->data = val; node->front = queue->rear; //新元素的前驱为 队列的尾元素 node->next = NULL; //新元素的后继为 NULL queue->rear->next = node; //尾元素的后继为 新元素 queue->rear = node; //移动队尾指针到新元素 queue->size = queue->size+1; } //出队列 void* linkedQueueDeQueue(LinkedQueue *queue){ if(linkedQueueIsEmpty(queue) == 1){ printf("出队列失败,队列已空!\n"); return NULL; }else{ QueueNode *node = queue->head; queue->head = queue->head->next; queue->size = queue->size - 1; void* val = queue->head->data; free(node); return val; } } //获取队首元素 void* linkedQueueGetQueue(LinkedQueue *queue){ if(linkedQueueIsEmpty(queue) == 1){ printf("出队列失败,队列已空!\n"); return NULL; }else{ QueueNode *node = queue->head->next; void* val = node->data; return val; } } void linkedQueueDestroy(LinkedQueue *queue){ QueueNode *node = queue->head; while(node != NULL){ free(node); node = node->next; } free(queue); }
100+评论
captcha
    类型标题大小时间
    ZIP基于CLIP模型的视频文本检索设计与实现5.01MB9月前
    ZIP永磁同步电机的EKF观测器滤波控制56.59KB9月前
    ZIP河南师范大学软件学院C语言题面_筛选后.zip567.64KB9月前
    ZIPQ-Learning在路径规划中的应用(MATLAB版)4.34KB9月前
    ZIPAllegro-Skill-Xtool一键gerber及生产资料归档工具574.9KB9月前
    ZIPFreeRTOS西西菜鸟.zip6.94MB9月前
    ZIPwxFormBuilder-V3.9 绿色免安装版19.93MB9月前
    ZIP机械设计-面向对象实现6.37MB9月前