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

杭州网站设计我选柚v米科技清远网站开发

杭州网站设计我选柚v米科技,清远网站开发,建设公司属于工业企业吗,建设部网站继续教育单链表的结构体定义,请查看我的另一篇文章。 C语言 头插法插入单链表 ⭐️ 【题目】采用头插法在头指针为L处建立一个带头结点的单链表,输入-1表示结束,结果返回建立的单链表。 /*** 头插法创建链表(输入-1终止)* retu…

单链表的结构体定义,请查看我的另一篇文章。

C语言 头插法插入单链表 ⭐️

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

/*** 头插法创建链表(输入-1终止)* @return 返回创建好的链表头指针*/
LinkList List_HeadInsert() {// 1. 创建头结点LinkList L = (LNode *)malloc(sizeof(LNode));  // 动态分配头节点内存空间L -> next = NULL;                    // 初始化头节点的next指针为NULLint x;  // 用于存储用户输入的临时变量scanf("%d", &x);  // 2. 读取第一个输入值// 3. 头插法循环插入节点while(x != -1) {  // 当输入不是-1时继续循环// 3.1 创建新节点LNode *S = (LNode *)malloc(sizeof(LNode));  // 为新节点分配内存S -> data = x;       // 将输入值存入新节点的data域// 3.2 头插法关键操作S -> next = L -> next;  // 新节点指向原首节点(头结点的next)L -> next = S;          // 头结点指向新节点(完成插入)scanf("%d", &x);  // 3.3 读取下一个输入值}return L;  // 4. 返回链表头指针
}

完整代码: 👇🏻

#include <stdio.h>
#include <stdlib.h>  // 包含malloc和exit函数// 定义链表节点结构
typedef struct LNode {int data;            // 节点数据域struct LNode *next;  // 指向下一个节点的指针
} LNode, *LinkList;      // LNode是节点类型,LinkList是指向节点的指针类型/*** 头插法创建链表(输入-1终止)* @return 返回创建好的链表头指针*/
LinkList List_HeadInsert() {// 创建头结点(哨兵节点)LinkList L = (LNode*)malloc(sizeof(LNode));  // 分配头节点内存if (!L) exit(EXIT_FAILURE);  // 内存分配失败则退出程序L->next = NULL;              // 初始化头节点的next指针为NULLint x;  // 用于存储用户输入的临时变量printf("输入数字(-1结束): ");scanf("%d", &x);  // 读取第一个输入值// 处理直接输入-1的情况if (x == -1) {free(L);  // 释放刚创建的头节点return NULL;  // 返回空链表}// 头插法插入节点while (x != -1) {  // 当输入不是-1时循环LNode *s = (LNode*)malloc(sizeof(LNode));  // 创建新节点if (!s) exit(EXIT_FAILURE);  // 内存分配失败处理s->data = x;       // 将输入值存入新节点s->next = L->next; // 新节点指向原首节点(头插法关键步骤)L->next = s;       // 头结点指向新节点(完成插入)scanf("%d", &x);   // 读取下一个输入值}return L;  // 返回链表头指针
}int main() {// 创建链表LinkList L = List_HeadInsert();// 打印链表LNode *p = L ? L->next : NULL;  // p指向第一个实际节点(跳过头结点)while (p) {  // 遍历链表直到NULLprintf("%d ", p->data);  // 打印当前节点数据p = p->next;            // 移动到下一个节点}return 0;
}

输入/输出示例:

输入数字(-1结束): 3 5 2 -1
输出: 2 5 3  // 头插法导致逆序

示例执行流程:

  • 输入:3 5 2 -1
    • 1、创建头结点
    • 2、插入3:链表 头->3
    • 3、插入5:链表 头->5->3
    • 4、插入2:链表 头->2->5->3
    • 5、遇到-1结束
  • 输出:2 5 3(与输入顺序相反)

在这里插入图片描述

http://www.dtcms.com/wzjs/577267.html

相关文章:

  • 手机在线做ppt的网站有哪些注册公司100万实缴多少
  • 微网站管理微信公众平台内做网站
  • 网站域名备案密码网络架构 书籍
  • 网站做曲线的源代码自己做的网站能联网吗
  • 公司网站建设多少钱ip查询网站
  • 做品牌网站找谁广西网站建设在线
  • 临沂网站制作哪家好长沙网站建设规划
  • 旅行社网站建设规划的内容能挣钱的游戏排行榜前十名
  • 自己做外贸开通什么网站品牌定位的三要素
  • 岗厦网站建设什么是同ip网站
  • 国内免费商用图片的网站长沙服务专业的建网站
  • 网站点赞怎么做的安阳信息网官网
  • 迅雷黄冈网站推广软件成都设计公司招聘
  • 印尼做网站的教学 中文销售的技巧与口才
  • 安阳网站建设优化渠道软件开发案例
  • 怎么把自己做的网页上传网站wordpress公众号
  • 网站改版方案模板wordpress折叠
  • 创业项目的网站wordpress+留言本
  • 网站开发公司可行报告基础展示营销型型网站
  • 织梦做网站简单吗一个静态网站开发考虑什么
  • 网站开发php怎么样网站建设与管理教学视频
  • 建设部网站信息系统客栈网站建设
  • 欧美一级a做爰片免费网站自学套模板做网站
  • 移动电商网站设计豫icp郑州网站建设
  • 网站一个一个关键词做大学生建设什么网站好
  • 做外贸经常用的网站唐朝网站的地址
  • 成都网站建设公司好做吗网站建设流程包括哪些环节
  • 免费 网站点击1688阿里巴巴官网首页
  • 织梦cms如何搭建网站建筑招标信息网官网
  • 网站设计专业公司价格信息分类平台