创建单链表不带头结点尾插法怎么做呢?

c语言创建带头结点和不带头节点的单链表(头插法&尾插法) 说明 最近开始学习数据结构相关的知识,看到单链表的内容,对于单链表的创建的头插法和尾插法两种方法,又根据单链表是否带有头结点,这样会产生四种情况。作为刚刚开始学习数据结构的小白,很是迷茫,通过参考《大话数据结构》等,现在对单链表的创建做一个总结,以备日后复现。如果下面的内容有错误,还请多多指出。 定义结点 typedef struct LNode{ int data; struct... 阅读详情
#include <stdio.h>
#include <stdlib.h>

typedef struct Node {
    int data;           // 数据域
    struct Node *next;  // 指针域
} Node;

int main() {
    Node *head = NULL;  // 头指针(不带头结点)
    Node *tail = NULL;  // 尾指针(用于优化尾插)
    int num;

    printf("输入整数序列(-1结束):\n");
    while (1) {
        scanf("%d", &num);
        if (num == -1) break;  // 输入-1结束

        // 创建新节点
        Node *newNode = (Node*)malloc(sizeof(Node));
        newNode->data = num;
        newNode->next = NULL;

        if (head == NULL) {  // 链表为空
            head = newNode;  // 头指针指向新节点
            tail = newNode;  // 尾指针指向新节点
        } else {             // 链表非空
            tail->next = newNode; // 尾节点的next指向新节点
            tail = newNode;       // 更新尾指针为新节点
        }
    }

    // 打印链表(验证结果)
    printf("链表元素: ");
    Node *p = head;
    while (p != NULL) {
        printf("%d ", p->data);
        p = p->next;
    }
    printf("\n");

    // 释放链表内存(实际使用时需添加)
    return 0;
}

王道代码版单链表头插法,不带头的头插法,尾插法,不带头的尾插法的总结 在编译器上面编译发现很容易控制台打印不出来,这可能就是细节所在,但是网上也没有很全的全代码输出的案例.我做题的感觉写的是对的其实并不对,你只是第六感感觉是对的仅此而已!!!要注意引以为戒,下面总结一下我自己写的可以运行的非伪码 首先定义结构体 typedef int Elemtype; //定义结构体 typedef struct node{ Elemtype data; struct node * next; }LNode,*LinkList; 1.1⚠️ 头插法建立单链表 //1.1⚠ 阅读详情

相关推荐

带头结点和不带头结点的单链表的尾插法以及各种操作

一.带头结点的单链表 先说一下create()建立的链表,采用cycle的方式。 /************************************************************* 带头结点的单链表13-1-1ex3.cpp 1.建立单链

ERIC的编程之路 1万+

数据结构C语言-不带头结点的单链表头插法/尾插法创建

最近有点忙,今天才开始看数据结构单链表的部分,由于考研,看了《王道复习指导书》上只讲了带头结点的单链表操作,只是文末提了下不带头节点的什么情况,在此结合王道复习书,电脑上写了运行了下不带头结点的。 // // Created by gxj on 2021/3/30. // #include <stdio.h> #include <stdlib.h> typedef int ElementType; //单链表结构体,LNode表示结点,LinkList表示链表,其实两者一样的

gxy03的博客 1万+

四种创建单链表的方法

学习了这么久的数据结构,终于把链表吃透啦,下面是我整理的四种创建单链表的的方法,以及一些非常容易犯的错误,让我们一起来看看吧~

AIGC 1万+

不带头结点的单链表的创建(头插法和尾插法)

1、用头插法建立不带头结点的单链表 #include<iostream> using namespace std; //单链表的结构体 typedef struct Node { int data; struct Node *next; }Node; /*不带头结点的单链表的创建(头插法)*/ void LinkCreate(Node *&L) { int a=0; cout << "请输入数据" << endl; cin >> a

慢慢的博客 2万+

ISP Tuning实战指南:从基础到高级的色彩与亮度优化

本文详细介绍了ISP Tuning的基础概念与高级调优技术,包括黑电平校正(BLC)、自动白平衡(AWB)、色彩校正矩阵(CCM)和Gamma曲线调整等核心算法。通过实战案例和调试技巧,帮助工程师提升摄像头成像质量,解决高光过曝、暗部噪点等常见问题,适用于智能门铃、车载摄像头等多种场景。

weixin_30879169的博客 107

Open3D 教程学习指南 (持续整理)

Open3D 是一个开源库,旨在为 3D 数据处理提供高效且易用的工具。它由 Intel 开发和维护,支持多种 3D 数据处理任务,如点云处理、3D 重建、几何处理和可视化等。

Chase Blog 5925

数据结构——单链表-不带头结点尾插法

#include<stdio.h> #include <malloc.h> typedef struct LNode{ int data; struct LNode *next; }LNode, *LinkList; void creatL(LinkList &L,int n){ LNode *r; r = NULL; L = NULL; for(int i =1;i<=n;i++){ LNode *p = (LinkList)malloc(s...

qq_25368751的博客 3114

【HAL库-STM】智能温控按键小风扇【胎教级教学】

硬件设备:DHT11,0.96寸oled屏,二/三/四线风扇(不挑),面包板 、f10的精英板等等。当人在的风扇面前时可以自行控制风扇,不在面前时又想开风扇就让他温控自行开启,(在这里有一个想法就是加上蓝牙和wifi控制的功能能够远程遥控,这个如果做的再全一点就要自主研发是一个多功能app,这里没有做。针对这个dht11,我一开始是卡在了这个check函数里面,一直是我给完dht11低电平和高电平后,dht11不回复我低电平和高电平,这个不是我的问题,当时代码是没毛病的,这个点一直卡着我。吐血五天实现小成品

weixin_52451652的博客 1738

数据结构-单链表(不带头结点的头尾插入)

单链表-有无头结点(来自转载)

qq_48736646的博客 1341

5分钟搞定!用FunASR在本地快速部署达摩院Paraformer语音识别模型(附常见问题解决)

本文详细介绍了如何在本地快速部署阿里达摩院开源的Paraformer语音识别模型。通过FunASR工具包,用户可在5分钟内完成环境配置、模型下载与基础识别,并掌握批量处理、性能调优及构建API服务等进阶技巧。文章重点解析了Paraformer的非自回归架构带来的速度优势,并提供了音频格式转换、依赖冲突、显存不足等常见问题的实战解决方案,助力开发者实现高效、离线的语音转写应用。

p1q2r的博客 705

农业无人机:无人机图像处理_(8).遥感图像处理与分析

遥感图像处理与分析在农业无人机技术中具有重要作用,通过图像预处理、特征提取、分类与分割、目标检测等技术,可以实现对农田的精细管理、作物监测、病虫害预测等应用。本节详细介绍了这些技术的基本概念、常用方法和具体实现,希望对您在农业无人机图像处理方面的学习和应用有所帮助。

zhubeibei168的博客 1335

不带头结点——尾插法

【代码】不带头结点——尾插法。

weixin_50942741的博客 1045

YOLOv8集成CPCA(Combined Parallel Convolutional Attention)注意力机制模块YOLOv8深度教程

YOLOv8集成CPCA注意力模块教程摘要 本教程详细介绍了如何将YOLOv8 CPCA(Combined Parallel Convolutional Attention)注意力模块集成到YOLOv8目标检测框架中。CPCA模块结合了通道注意力和多尺度空间注意力机制,通过全局池化和双路径融合增强通道特征,并利用多尺度深度可分离卷积捕获空间上下文信息。YOLOv8 教程包含完整的实现步骤:创建CPCA模块代码、修改YOLOv8模型解析逻辑、编写自定义配置文件,YOLOv8YOLOv8YOLOv8YOLOv8

FJN110的博客 1619

创建不带头结点的单链表之头插法和尾插法并求节点数(C+详细注释)

一、单链表抽象数据类型定义 #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;time.h&amp;gt; #define OK 1 #define ERROR 0 #define LEN 10 typedef int Elemtype; //数据类型重

苍之羽 8382

104、母线电容设计与选型

母线电容选型,容值不是最关键的,纹波电流和温度才是。很多炸机事故,不是容值不够,而是纹波电流超标导致过热。选电容时,多花点时间算纹波电流,比盲目加大容值有效得多。另外,别迷信进口品牌。国产电容(如江海、艾华)在常规应用里完全够用,价格只有进口的1/3。但高频特性确实有差距,所以高频去耦一定要用薄膜电容。最后,留个调试技巧:用示波器测母线电容两端的电压纹波,同时用电流探头测电容的纹波电流。如果纹波电流波形有尖峰,说明ESL太大,需要并联高频电容。如果纹波电压是低频波动,说明容值不够。

2401_88858637的博客 47

Cesium 实现动态加载气象数据:渲染成动态雨雪/云层效果(源码 + 原理)

本文介绍了在Cesium中实现动态天气效果的技术方案。核心思路是通过时间轴驱动多层数据动态切换,包括:1)时间维度处理,按序列加载不同气象图层;2)空间维度处理,将气象数据切分为瓦片;3)效果层实现,制作风场、降水等动态可视化效果。文章详细讲解了后端数据预处理(生成瓦片和风场JSON)、前端实现(双层雷达瓦片交替渐变、风场粒子系统)的具体方法,并提供了完整的代码示例。此外还探讨了雨雪粒子、云层效果等增强功能,以及工程化建议,为构建科学准确的动态天气可视化系统提供了实用解决方案。

专注AI大模型,软件混淆,授权 620

数据结构c/c++ 头插法尾插法建立带头结点的单链表,以数组创建带头结点的单链表和不带头结点的单链表,输出打印单链表

// // Created by 焦娇 on 2021/9/17. // #ifndef CHAPTER2_LINELINK_LLK_H #define CHAPTER2_LINELINK_LLK_H #endif //CHAPTER2_LINELINK_LLK_H #include <iostream> using namespace std; typedef int Elemtype; typedef struct LNode { Elemtype data;

JJ9845324的博客 1033

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

不带头结点的头插法和尾插法创建单链表

尾插法 定义结构体 typedef int DataType; typedef struct Node { DataType data; struct Node* next; }*SLNode, SLnode; //定义链表的结构体 尾插法创建链表 void insert(SLNode head, int n) { SLNode q,p; int i, data; p = head; scanf_s("%d",&data); head->data = dat

m0_56107268的博客 5360

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

数据结构-不带头结点的单链表创建(头插法+尾插法),插入,删除

无头结点的单链表创建

weixin_56653375的博客 759

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C++实现单链表的创建

单链表的定义 typedef struct linkList{ int data; struct linkList* next; }LNode; 单链表通常可以分为带头结点和不带头结点的单链表,二者的区别如下图所示 从上图可以直观地看到,带头结点的单链表相较于不带头结点的单链表在空间上会额外浪费一个结点。但是在引入头结点后,可以带来两个优点: ① 在处理第一个位置上的结点时,因为头结点的缘故,其处理方式和其他位置的结点操作一致,不需要进行特殊处理。 ② 无论链表是否为空,其头指针都指

weixin_46393892的博客 3921

单链表的基本操作(三)单链表的创建

1、尾插法创建一个单链表(顺序输入一个数组) Linklist Createndlist(int a[N]) { Linklist L; L = (Lnode*)malloc(sizeof(Lnode)); if (L == NULL) { cout << "error"; exit(0); } else L->next = NULL; Linklist t...

gets_s的博客 927

java不带头节点的创建_C/C++中创建(带头结点、不带头结点的)单链表

1、带头结点的单链表(推荐使用带头结点的单链表)(采用尾插法)了解单链表中节点的构成从上图可知,节点包含数据域和指针域,因此,在对节点进行定义时,我们可以如下简单形式地定义:/* 定义链表 */typedef struct Node{int data; // 数据域struct Node *next; // 指针域(后节点)// struct Node *next; // 指针...

weixin_28793831的博客 362

【数据结构】:单链表之增删改查求表长(带头结点和不带头结点均有)

对单链表的增删改查求表长、C语言、有图解、带头结点和不带头结点

仔仔木的博客 4376

创建单链表的4种方式

单链表在数据结构中应用广泛,是极常见的链式存贮方式,单链表分为有带头结点和不带头结点的单链表,其创建方式又分为头插法创建和尾插法创建,详细创建方法如下: #include #include typedef int ElemType; //类型定义声明 typedef struct Node { ElemType data; struct Node *next; }LNode, *L

莪&們 的专栏 2523

C++ 单链表(无头结点)

文章目录总结归纳代码实现 总结归纳 头结点可以没有,头指针必须有。访问整个链表,是用过遍历头指针来进行的。 这里没有特别的设置一个头指针,因为当指针指向整个链表 L 时,该指针的实现效果就是头指针。 不带头结点的单链表,即单链表的第一个结点就存储数据,头指针也指向第一个结点;带头结点的单链表,第一个结点是头结点,不存储数据,从头结点的 next 开始存储,头指针可以从头结点的 next 开始遍历。 对于结点的前插操作,找到对应位置的结点,设新结点为该节点的后继结点,将该结点的 data 后移至新结点的 d

qq_43650934的博客 5750
上一篇: DFS(混境之地)
下一篇: fgets()与fputs()函数
printfLILEI
博客等级 码龄4年 66粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值