当前位置: 首页 > 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;                                     // 返回头指针
}

相关文章:

  • 链表相关——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)——方法详解
  • 证券时报:“好房子”标准即将全面落地,购房者有哪些新期待
  • 这些被低估的降血压运动,每天几分钟就管用
  • 建投读书会·东西汇流|全球物品:跨文化交流视域下的明清外销瓷
  • 女儿被偷拍后,一个父亲的战斗
  • 甘肃省原副省长赵金云被开除公职,甘肃省委表态:坚决拥护党中央决定
  • 精准滴灌“种企业”,苏南强县常熟新的进阶密码