当前位置: 首页 > news >正文

数据结构每日一题day12(链表)★★★★★

  1. 数据结构每日一题day12(链表)★★★★★

题目描述:采用头插法在头指针L处建立一个带头结点的单链表,输入-1表示结束结果返回建立的单链表。

算法思想:

1.初始化头结点:创建头结点,并使其指针域初始化为NULL。

2.循环插入元素:

不断接收用户输入的整数值,若输入为-1则停止。

为新元素动态分配结点空间,将数据存入结点。

使用头插法将新结点插入头结点之后。

返回链表:最终返回头指针L。

复杂度分析:

时间复杂度:O(n)

空间复杂度:O(n)

代码实现:

#include <stdio.h>
#include <stdlib.h>typedef struct LNode {int data;               // 数据域struct LNode *next;     // 指针域
} LNode, *LinkList;LinkList CreateList_HeadInsert() {LinkList L = (LinkList)malloc(sizeof(LNode));  // 创建头结点L->next = NULL;                               // 初始为空链表LNode *s;                                     // 用于创建新结点int x;                                        // 用户输入的值printf("请输入元素(输入-1结束):");scanf("%d", &x);while (x != -1) {s = (LNode*)malloc(sizeof(LNode));        // 创建新结点s->data = x;                              // 存入数据s->next = L->next;                        // 新结点指向原首结点L->next = s;                              // 头结点指向新结点scanf("%d", &x);                          // 继续输入}return L;                                     // 返回头指针
}

http://www.dtcms.com/a/161848.html

相关文章:

  • 链表相关——Python实现
  • 二进制、高位低位、位移操作与进制转换全解
  • 汽车行业EDI教程——北美X12标准 AS2连接配置与实现
  • 晶振PCB设计核心要点与规范
  • nigx屏蔽无用爬虫
  • 如何实现Redis和Mysql中数据双写一致性
  • 什么是设备管理?设备管理核心功能是什么?
  • 30分钟上架鸿蒙原生应用,即时通信IM UI组件库全面适配HarmonyOS 原
  • 任意波形发生器——2路同步DA模拟量输出卡
  • ASP.NET MVC​ 入门指南四
  • Python爬虫实战:获取软科网最新特定专业大学排名数据并做分析,为高考填报志愿做参考
  • 解决Ubuntu20.04重启出现显卡驱动异常的问题(操作记录)
  • JLink,程序烧写流程、步骤
  • AI大模型学习十三、白嫖腾讯Cloud Studio AI环境 通过Ollama+Dify+DeepSeek构建生成式 AI 应用-安装
  • 漫反射实现+逐像素漫反射+逐像素漫反射实现
  • Miniconda Windows10版本下载和安装
  • 通过深度学习推进增材制造:当前进展与未来挑战综述
  • 项目管理 - 1.Maven
  • Windows 图形显示驱动-待机休眠优化
  • Java SE(4)——方法详解
  • 如何使用极狐GitLab 议题看板?
  • 【25软考网工】第四章(2)WLAN通信技术、WLAN频谱与信道
  • CMU-15445(1)——环境搭建
  • Missashe考研日记-day29
  • CUDA编程 - 测量每个block内线程块的执行时间 - 如何应用到自己的项目中 - clock()
  • 数据库对象概述
  • layui时间范围
  • AI时代下前端的未来发展与当下状况
  • 100%提升信号完整性:阻抗匹配在高速SerDes中的实践与影响
  • 论文阅读_Citrus_在医学语言模型中利用专家认知路径以支持高级医疗决策