链表题_2




1.单链表实现约瑟夫环


2.逆置/反转单链表


3.单链表排序(冒泡排序)

void BubbleSort(List** pphead)
{
int count = 0;
List* start = NULL;
List* cur = *pphead;
while (cur)
{
count++;
cur = cur->next;
}
while (count > 0)
{
        start = *pphead;
while (start->next != NULL)
{
         if (start->arrary > start->next->arrary)
{
int tmp = start->arrary;
          start->arrary = start->next->arrary;
start->next->arrary = tmp;
}
start = start->next;
}
        count--;
start = (*pphead);
}
*pphead = start;
}

4.单链表排序(快速排序)


5.合并两个有序链表,合并后依然有序


6.查找单链表的中间节点,要求只能遍历一次链表


7.查找单链表的倒数第k个节点,要求只能遍历一次链表




安全帽与口罩检测数据集 一、基础信息 数据集名称:安全帽与口罩检测数据集 图片数量: - 训练集:1690张图片 - 验证集:212张图片 - 测试集:211张图片 - 总计:2113张实际场景图片 分类类别: - HelmetHelmet:戴安全帽的人员,用于安全防护场景的检测。 - personwithmask:戴口罩的人员,适用于公共卫生监测。 - personwith_outmask:未戴口罩的人员,用于识别未遵守口罩佩戴规定的情况。 标注格式:YOLO格式,包含边界框和类别标签,适用于目标检测任务。 数据格式:JPEG/PNG图片,来源于实际监控和场景采集,细节清晰。 二、适用场景 工业安全监控系统开发: 数据集支持目标检测任务,帮助构建自动检测人员是否佩戴安全帽的AI模型,适用于建筑工地、工厂等环境,提升安全管理效率。 公共卫生管理应用: 集成至公共场所监控系统,实时监测口罩佩戴情况,为疫情防控提供自动化支持,辅助合规检查。 智能安防与合规检查: 用于企业和机构的自动化安全审计,减少人工干预,提高检查准确性和响应速度。 学术研究与AI创新: 支持计算机视觉目标检测领域的研究,适用于安全与健康相关的AI模型开发和论文发表。 三、数据集优势 精准标注与实用性: 每张图片均经过标注,边界框定位准确,类别定义清晰,确保模型训练的高效性和可靠性。 场景多样性与覆盖性: 包含安全帽和口罩相关类别,覆盖工业、公共场所以及多种实际环境,样本丰富,提升模型的泛化能力和适应性。 任务适配性强: 标注兼容主流深度学习框架(如YOLO),可直接用于目标检测任务,便于快速集成和部署。 实际应用价值突出: 专注于工业安全和公共健康领域,为自动化监控、合规管理以及疫情防护提供可靠数据支撑,具有较高的社会和经济价值。
### 链表数据结构练习 以下是关于链表的一些经典练习目及其解析: #### 计算链表长度 为了计算链表的长度,可以通过遍历整个链表并计数节点的数量来实现。具体方法是从头节点出发,逐步移动指针直到到达链表末尾[^2]。 ```c int getLength(struct Node* head) { int count = 0; struct Node* current = head; while (current != NULL) { count++; current = current->next; } return count; } ``` #### 删除指定值的所有节点 删除链表中所有等于给定值 `val` 的节点是一个常见的操作。此过程涉及调整前驱节点和后继节点之间的链接关系[^3]。 ```c struct Node* removeElements(struct Node* head, int val) { struct Node dummy = {0}; dummy.next = head; struct Node *prev = &dummy, *curr = head; while (curr != NULL) { if (curr->data == val) { prev->next = curr->next; free(curr); curr = prev->next; } else { prev = curr; curr = curr->next; } } return dummy.next; } ``` #### 创建图书信息链表 可以设计一个包含图书信息(书号、书名、价格)的链表,并通过输入相应数据完成链表的构建。之后还可以统计链表中的图书数量以及逐行打印每本书的信息[^4]。 ```c typedef struct BookNode { char id[20]; char name[50]; float price; struct BookNode* next; } BookNode; BookNode* createBook(char id[], char name[], float price) { BookNode* newNode = malloc(sizeof(BookNode)); strcpy(newNode->id, id); strcpy(newNode->name, name); newNode->price = price; newNode->next = NULL; return newNode; } void addBook(BookNode** headRef, BookNode* newBook) { if (*headRef == NULL) { *headRef = newBook; } else { BookNode* temp = *headRef; while (temp->next != NULL) { temp = temp->next; } temp->next = newBook; } } void printBooks(BookNode* head) { BookNode* current = head; while (current != NULL) { printf("ID: %s, Name: %s, Price: %.2f\n", current->id, current->name, current->price); current = current->next; } } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值