单链表的建立

C语言来实现链表创建 前言 链表是数据结构中很重要的内容,要想学会数据结构,首先要了解链表 链表的基本知识 1,链表的构成 链表是由一个头指针和一个个节点构成的,如图: 而节点则是一个个结构体,包含数据域和指针域两部分,其中,指针域存储的是指向下一个节点的指针 2,对于链表的操作 1,创建链表 2,初始化链表 3,遍历链表 4,对于链表进行增删查等操作 C语言对于链表的代码的实现 1,创建结构体并命名 创建链表前需要先创建结构体作为节点和头指针: typedef struct Node //typedef方法函数可以对于st 阅读详情

头插法建立

typedef struct LNode{
    int data;
    struct LNode next;
}LNode,*LinkList;


LinkList Init(){
    LinkList p = (LinkList)malloc(sizeof(LNode));
    p->next = NULL;
    return p;
}


//LNode *List_HeadInsert(LNode L)
LinkList List_HeadInsert(LinkList L){
    int x;
    
    L->next = NULL;
    LinkList s;//声明新结点

    scanf("%d",&x);
    while(x!=9999){
        s = (LinkList)malloc(sizeof(LNode));//新结点
        s->data = x;
        s->next = L->next;//指向首结点
        L->next = s;
        scanf("%d",&x);
    }
    return L;
}


void ListTraverse(LinkList L){
    LinkList p->next = L;
    while(p!=NULL){
        printf("%d ",p->data);
        p = p->next;
    }
    printf("\n");
}

int mian(){
    LinkList L = Init();
    List_HeadInsert(L);
    ListTraverse(L);
}

尾插法建立

typedef struct LNode{
    int data;
    struct LNode next;
}LNode,*LinkList;


LinkList Init(){
    LinkList p = (LinkList)malloc(sizeof(LNode));
    p->next = NULL;
    return p;
}


LinkList List_TailInsert(LinkList L){
    int x;
    
    LinkList r = L;//r是表尾指针,当前没东西暂时指向表头
    LinkList s;//声明新结点

    scanf("%d",&x);
    while(x!=9999){
        s = (LinkList)malloc(sizeof(LNode));//新结点
        s->data = x;
        r->next = s;
        r = s;//r指向新表尾,每加一个新结点,该新结点就变成表尾
        scanf("%d",&x);
    }
    r->next = NULL;//尾结点指针为空
    return L;
}


void ListTraverse(LinkList L){
    LinkList p->next = L;
    while(p!=NULL){
        printf("%d ",p->data);
        p = p->next;
    }
    printf("\n");
}

int mian(){
    LinkList L = Init();
    List_TailInsert(L);
    ListTraverse(L);
}

 

单链表上基本操作的实现——建立,插入,查找,删除,表长。 本文是对单链表的基本操作的学习——包括单链表的建立,删除,插入,查找,等等操作。有些操作好将带头结点单链表和不带头结点单链表均都实现了代码复现!值得一看! 阅读详情

相关推荐

单链表的建立及操作

单链表的建立及操作 一、逆序建表 1.单链表的建立 单链表的实质是一个结点的序列,建立单链表实质上就是逐个生成每一个结点,并把结点插入链表的过程。 单链表的建立是一个结点插入的过程,只不过需要插入的不是一个结点,而是多个结点而已。 多个结点的插入方式是相同的,因此可以借助循环过程来实现。 2.逆序建链表 ①首先建立一个只包含头结点的空链表。 需要执行的操作是: head=(struct node*...

qq_45666654的博客 2464

单链表(Node)

简介 链表由多个结点组成,每个结点由两部分组成: 本身的信息,称为“数据域”; 指向直接后继的指针,称为“指针域”。 通过指针域将多个链表连接起来。 实现 public class OneNode<T> { private Node headNode; private int size; // 初始化 public OneNode() { this.headNode = null; this.size = 0; } // 添加链表 public void

qq_42646178的博客 1401

sdut_逆序建立单链表

数据结构实验之链表二:逆序建立链表Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit StatisticProblem Description输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。Input第一行输入整数N;;第二行依次输入N个整数,逆序建立单链表。Output依次输出单链表所存放的数据。S...

Guojing_Huang的博客 816

链表基本操作详解

链表通过结构体将数据以一个一个节点的方式存储,然后通过指针将各个节点的地址串联起来。这里可以改进:通过将尾节点的位置存储起来,避免每次插入时循环找尾节点;同时:可以加入新参数(上一节点地址)实现各种位置的插入;

qq_39720552的博客 778

【ELF2学习板】基于OpenMP与RK3588多核架构优化FFTW的并行计算效率

本文详细介绍了如何在ELF2学习板上利用OpenMP与RK3588多核架构优化FFTW的并行计算效率。通过编译支持OpenMP的FFTW库、合理设置线程绑定与调度策略,以及内存访问优化等技巧,显著提升了FFT计算的性能。实测数据显示,多核并行优化可使4096点FFT计算速度提升一倍以上,特别适合信号处理、图像分析等高性能计算场景。

weixin_30352645的博客 607

将点云坐标转换成世界坐标的demo

将点云坐标转换成世界坐标的demo

howard789的博客 2206

链表的概念及创建

1.链表是由如干个节点所组成的(链表的各个节点结构是完全相似的),节点是由有效数据和指针组成的,有效数据区是用来储存数据的,指针是用来指向下一个节点的首地址,从而构成链表。 2.链表是用来解决数组的大小不能动态扩展的问题,灵活性比数组好,和数组一样也是用来存储数据的,链表需要分配多少个动态数据分配多少个,不占用额外内存。 3.单链表的实现 (1)单链表的节点构成 有效数据部分,和指针部分 (2)定义的struct node只是一个结构体,本生没有变量生成,也不占用内存,结构体定义相当于为链表节点定义了一个模

weixin_54989626的博客 609

从PWM到精准电流:双光耦与LM317构建的4-20mA隔离输出方案

本文详细介绍了基于双光耦与LM317的4-20mA隔离输出方案,适用于工业自动化中的PWM信号转换。该方案通过电气隔离和精准电流调节,显著提升抗干扰能力和信号传输精度,同时降低成本60%。文章还分享了电路设计、参数计算及调试经验,为工程师提供实用参考。

weixin_32006655的博客 283

c语言数据结构创建一个node单链表,C语言--数据结构--单链表的基本实现

typedef int ElementType;typedef struct LNode{ElementType data;struct LNode *ptr;}LNODE,*LINKLIST;/***@Function: 单链表的建立(包含头结点)*@params :*@return :*@note :*/LINKLIST LinkList_Creat(void){LNODE *hea...

weixin_31208627的博客 445

WSL中使用VMD图形化界面

【代码】WSL中使用VMD图形化界面。

handsome213的博客 840

计量经济学——事件研究法/事件分析法

计量经济学——事件研究法/事件分析法

weixin_46189461的博客 6752

数据结构——单链表的初始化、建立、插入、删除

目录 1、单链表初始化 2、建立单链表 3、单链表的插入运算 4、单链表的删除运算 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可连续、也可不连续)。 链表优点 链表缺点 1、不要求占用连续的存储空间,可动态进行分配。 2、插入和删除操作效率高,不需要移动元素。 1、不能随意访问任一元素。...

TSY_1222的博客 1万+

逆向淘宝x-mini-wua:从加密算法到设备指纹的生成逻辑

本文深入剖析了淘宝风控核心参数x-mini-wua的生成逻辑与加密算法。通过逆向分析,揭示了其作为设备“身份证”的作用,详细拆解了从硬件信息采集、SG_INNER_DATA文件解密、关键参数提取到最终长wua合成的完整技术链条,并探讨了模拟生成与绕过风控的实战思路及注意事项。

year5的博客 1076

建立单链表

链表是动态地进行存储分配的一种结构,链表中的数据在内存中不必连续存放,数据之间通过指针链接起来,相比于数组结构,链表的插入和删除操作比较方便。单链表的建立链表:通过自引用结构的指针域,将各结点相互连接。关于链表的基本概念: (1)链表的第一个结点称头指针或头结点,它指向链表在内存中的首地址, (2)其后的结点是通过结点中的链节指针成员访问的。 (3)链表的最后一个结点称为尾节点。尾节点的指针域通常被设置成NULL。 (4)链表中的每一个结点是在需要的时候建立的。 (5)各结点在内存中的存储地址不一

Dream_begin_的博客 5880

YOLOv8独家原创改进:原创自研 | 创新自研CPMS注意力,多尺度通道注意力具+多尺度深度可分离卷积空间注意力,全面升级CBAM

自研CPMS,多尺度通道注意力具+多尺度深度可分离卷积空间注意力,全面升级CBAM

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3798

如何在SpringBoot中实现AI 流式输出?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1482

头插法建立单链表

头插法建立单链表 头插法会使输入的数据插入到链表的表头,输出数据时的数据与读入的数据时相反的,如,以1 2 3 4 5 6 7 8 9建立链表,输出的结果是9 8 7 6 5 4 3 2 1 。第一个元素会始终在链表的尾部 1.建立一个空表,此时头指针L指向头结点,L->Next=NULL,如图 2.while的第一次循环,插入第一个结点,进行如下操作 代码如下: #include<iostream> using namespace std; #define ElemType int

weixin_52436042的博客 9280

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

单链表的建立(C/C++)

用类C语言来描述单链表建立

qq_74297147的博客 1592

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

头插法、尾插法建立单链表

头插法、尾插法建立单链表 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #define TRUE 1 #define FALSE 0 #define ERROR 0 #define OVERFLOW 0 #define OK 1 typedef int ElemType; typedef int Status; typedef struc...

ai bohang 的博客 1090

lwip-2.0.3

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

数据结构例程——单链表的建立

本文是数据结构基础系列网络课程(2):线性表中第9课时线性表顺序存储的应用中所讲的例程。【例程】   定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果。#include <stdio.h> #include <malloc.h> typedef int ElemType; typedef struct LNode //定义单链表结点类型 { ElemTy

迂者-贺利坚的专栏 7102

单链表的初始化,建立,插入,查找,删除。

//单链表的初始化,建立,插入,查找,删除。 #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef int ElemType; //////////////////////////////////////////// //定义结点类型 typedef struct Node { ElemType...

YIU 1万+

建立单链表的两种简单方法

【代码】建立单链表的两种简单方法。

2303_80780937的博客 272

数据结构__头插法建立单链表、尾插法建立单链表

头插法、尾插法建立单链表

qq_59002691的博客 7751
上一篇: 学习笔记-POJ-1852蚂蚁问题
下一篇: 单链表的查找
Node_Su
博客等级 码龄10年 17粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值