首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

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

后端 2.57KB 46 需要积分: 1
立即下载

资源介绍:

c语言队列实现(不强制数据类型,包含三种实现)
#include #include 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); }

资源文件列表:

queue.zip 大约有3个文件
  1. QueueArrayDynamic.h 2.03KB
  2. QueueArrayFix.h 1.92KB
  3. QueueLink.h 2.1KB
0评论
提交 加载更多评论
其他资源 基于CLIP模型的视频文本检索设计与实现
针对现有基于CLIP预训练模型方法存在的训练时间长、模型规模大等问题,本文在CLIP4Clip模型的基础上,采用关键帧保存方案和Adapter Tuning低参数量微调,提高了计算资源有限情况下的训练效率和模型性能。 训练速度方面,本文首先采用帧保存方案,将视频库中的关键帧提取并保存为图片,从而加快数据加载速度,将训练速度提高了14.6倍;然后采用AIM模型的Adapter设计方案,在CLIP4Clip模型中插入可训练的Adapter层,只训练少量参数实现快速收敛,最终实现训练速度提高34倍。 模型性能方面,论文证明了平均选取视频关键帧,比按照最大帧间差选取视频关键帧的效果更优;然后证明了AIM在视频检索领域的有效性;并可以使用AIM来提高模型性能,将模型在MSR-VTT数据集上的R@1从42.2%提升至43.4%,R@5从70.2%提升为71.1%。 本文设计并实现了一个视频文本检索系统,为了保障系统的检索速度,搭建了向量数据库,并测试了不同数据保存方式的数据存取速度。系统使用Django搭建了Web端应用,实现了多种功能需求,展示了本文方法在视频文本检索系统中的应用效果和潜力。
基于CLIP模型的视频文本检索设计与实现 基于CLIP模型的视频文本检索设计与实现 基于CLIP模型的视频文本检索设计与实现
永磁同步电机的EKF观测器滤波控制
针对《现代永磁同步电机控制》一书中,扩展卡尔曼滤波算法仿真模型的搭建
河南师范大学软件学院C语言题面_筛选后.zip
河南师范大学软件学院C语言题面_筛选后.zip
Q-Learning在路径规划中的应用(MATLAB版)
针对于已知环境中的路径规划问题,本文提出Q-Learning解决智能体在复杂环境中找到最优路径。最终阶段包括查询 Q 表以选择最佳行动路径。训练完成后,呈现了历时、最小步数、最大奖励值等结果,以及 Q 表的可视化、最短路径和整个训练过程。Q-learning 是强化学习中的一种基于值函数的学习方法,用于解决无模型的马尔可夫决策过程(MDP)问题。在 Q-learning 中,代理尝试学习一个价值函数 Q(s, a),它估计在状态 s 采取动作 a 后所能获得的长期回报的价值。状态 s、动作a、奖励信号r、Q 值函数 (Q-table)、折扣因子 γ、学习率 α、探索-利用策略。图1 Q-Learning结构图状态s:在 Q-learning 中,代理与环境进行交互,环境处于不同的状态。状态是描述环境的特定情况或配置的抽象表示。
Allegro-Skill-Xtool一键gerber及生产资料归档工具
Allegro-Skill_Xtool一键gerber及生产资料归档工具
FreeRTOS西西菜鸟.zip
FreeRTOS西西菜鸟.zip
wxFormBuilder-V3.9 绿色免安装版
wxFormBuilder是由softonic推出的一款界面编辑设计工具,这款软件用于生成跨平台编译代码,能够快速搭建GUI开发环境,而且软件右边的编辑栏还会自动变成对应控件的属性编辑,其你可以修改该控件和窗体的各类属性,非常实用。另外,wxFormBuilder也支持快速生成C++,python,Lua等代码和XRC资源文件,而且还搭建高效的带有GUI界面编辑器的开发环境,其操作非常简便,界面简洁清晰,有需求的用户快来下载体验吧!
机械设计-面向对象实现
Mechanical_Design的源代码
机械设计-面向对象实现 机械设计-面向对象实现 机械设计-面向对象实现