代码编织梦想


目录

链表的插入:

 链表的删除:

链表元素的查找:


本次的单链表内容紧接着上一篇博客,实现在一个位置后面插入删除以及查找的操作。

typedef int SLTDataType;
//利用typdef类型重定义来定义链表的数据类型以及结构体的简写。
//便于以后链表数据类型的更换以及结构体类型声明。
typedef struct SListNode{
    SLTDataType data;
    struct SListNode* next;
}SLTNode;
SLTNode* BuyNode(SLTDataType x)
{
    SLTNode* newnode = (SLTNode*)malloc(sizeof(SLTNode));
    if(newnode == NULL)
    {
        printf("malloc fail;\n");
        exit(-1);
    }
    newnode -> data = x;
    newnode -> next = NULL;
    return newnode;
}

链表的插入:

void SLTNodeInsert(SLTNode* pos, SLTDataType x)
{
    //首先创建一个新的结点
    SLTNode* newnode = BuyNode(x);
    //在给的位置后一个位置进行插入操作
    newnode -> next = pos -> next;
    pos -> next = newnode;
}

 链表的删除:

void SLTNodeErase(SLTNode* pos)
{
    //删除给入位置的后一个元素
    SLTNode* p = pos -> next;
    pos -> next = p -> next;
    free(p);
}

链表元素的查找:

SLTNode* SLTNodeFind(SLTNode* phead, SLTDataType x)
{
    while(phead)
    {
        if(phead -> val == x)
            return phead;
        phead = phead -> next;
    }
    return NULL;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FlashRider/article/details/129631078

数据结构教程(详细又简单——C语言实现)-爱代码爱编程

本博文使用简单易懂的方式讲解数据结构,并用C语言进行了实现,即使你是零基础,本博文也会为你铺平学习之路,相信读完本博客你会对数据结构有更深一步的了解和认识。 本博文中提到的所有数据结构都使用C语言进行了实现,限于篇幅原因,博主将所有实现数据结构的代码放在了Github上,读者可自行查阅。 为了避免篇幅过长,本博文中所有数据结构的具体操作细节会在《数据结

C语言基础数据结构内容介绍及单链表详解-爱代码爱编程

每日一句 Life is but a dream. 人生如梦 ** 内容概要 ** 一、线性表(一对一) 1、顺序表:数组 2、链表 1)单链表 2)双链表 3)内核链表 3、栈 4、队列 二、非线性表(一对多,多对多) 1、二叉树 2、二叉搜索树(BST) 3、平衡二叉搜索树(AVL) 4、红黑树 C语言中数据结构所要研究的内容: (1)逻辑结构

数据结构——链表(定义详解及建立单链表与实现其操作)-爱代码爱编程

链表定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 本文仅讲解单链表,其他链表构造基本类似单链表。 单链表有带头节点链表和不带头节点

c语言用单链表存储数据,数据结构—单链表(类C语言描写叙述)-爱代码爱编程

链接方式存储的线性表简称为链表(Linked List)。 链表的详细存储表示为: ① 用一组随意的存储单元来存放线性表的结点(这组存储单元既能够是连续的。也能够是不连续的) ② 链表中结点的逻辑次序和物理次序不一定同样。为了能正确表示结点间的逻辑关系,在存储每一个结点值的同一时候,还必须存储指示其后继结点的地址(或位置)信息(称为指针(poin

单链表输入和正序输出c语言,数据结构与算法——单链表及第三次实验题解-爱代码爱编程

数据结构与算法——单链表及第三次实验题解 数据结构与算法——单链表及第三次实验题解 数据结构与算法——单链表及第三次实验题解 文章目录 数据结构与算法——单链表及第三次实验题解 学习思路 单链表的基本结构 单链表的基本操作 定义单链表——C++版 创建单链表 插入元素 在头部插入元素 在尾部插入元素 头指针与尾指针的区别 删

数据结构——插入排序算法详解(C语言)-爱代码爱编程

插入排序的算法思想是:每一趟将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适合位置上,直到所有待排序记录全部插入为止。 例如,打扑克牌在抓牌时,每抓一张牌,就插入到合适的位置,直到抓完牌为止,即得到一个有序序列。 可以选择不同的方法在已排好序的记录中寻找插入位置。根据查找方法的不同,有多种插入排序的方法 ,这里介绍三种方法:直接插入排

数据结构————不带头单链表操作讲解-爱代码爱编程

我们先来实现不带头单链表的基本操作: 头文件test.h: #include<stdio.h> #include<stdlib.h> typedef int SLTDataType; struct SListNode{ SLTDataType data; struct SListNode*next; }; typ

数据结构-单链表的基本实现(C语言,简单易懂,含全部代码)-爱代码爱编程

链表的概念和结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 结构:实际中链表的结构非常多样,以下情况组合起来就有8种链表结构。 (1)单向、双向 (2)带头、不带头 (3)循环、非循环 本篇主要详解单链表,结构如图:无头单向非循环链表:结构简单,一般不会单独用来存数据。

【数据结构详解】——线性表之单链表(动图详解)_hinscoder的博客-爱代码爱编程

前言:本期我们将讨论线性表另外一种存储结构————链式存储结构,相比顺序表互有优劣,我们不能片面的认为链表优势大于顺序表,两种存储方式都应该熟知并掌握。 目录 1. 链表1.1 链表的概念及结构1.2 单链表的概念

【数据结构】单链表(超详细讲解)c代码实现_孙同学要努力的博客-爱代码爱编程

文章目录 1. 链表的相关概念1.1 为什么要引进链表1.2 链表的概念1.3 链表的组成1.4 链表的物理结构1.5 链表的分类 2. 无头单向不循环链表的实现2.1 单链表的声明2.2 打印单链表2.3 动

【初阶数据结构】单链表(c语言实现+动图演示)_℡小男孩的博客-爱代码爱编程

文章目录 链表的概念及结构链表的分类链表的实现链表的单个结点的定义单链表的接口创建结点单链表的头插单链表的尾插单链表的头删单链表的尾删单链表的打印单链表的查找单链表在pos位置之前插入结点单链表在pos位置之后插入结

【数据结构】详解链表(一)——单链表(动图讲解)_单链表动态图-爱代码爱编程

作者:一个喜欢猫咪的的程序员 专栏:《数据结构》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。                                  ——《人民日报》 目录 前言: 单链表的结构和形成: 逻辑结构:  物理结构(从计算机角度): BuySLTNode(创建结构体):  Cr

【初阶数据结构】——单链表详解(c描述)_写出单链表存储结构的c语言描述-爱代码爱编程

文章目录 前言1. 链表的概念及结构2. 链表的分类3. 无头单向非循环链表的实现3.1 结构3.2 创建结点3.3 单链表的销毁3.4 打印单链表3.5 尾插3.6 尾删3.6 头插3.7 头删3.8 查找3