首页 > 其他分享 >数据结构之链表

数据结构之链表

时间:2024-07-17 09:30:11浏览次数:10  
标签:node 插法 next 链表 数据结构 data 节点

本文主要介绍链表结构,本人才疏学浅,文中如有出现知识点错误或者代码错误,还请大家多多指正。

首先是单向无环链表:
在单向无环链表中,每个节点由两部分组成: data 和 next_node,next_node用于指向下一个节点,而data表示在当前节点中存储的数据。

struct node{
int data;
node*  next_node;
};

在建立链表时有两种方法:头插法和尾插法。
尾插法比较符合我的平时使用习惯,即将后一个结点插入到前一个节点的后面。而头插法则比较另类,他将后一个节点插入到前一个节点的前面。因此,我们遍历尾插法的链表得到的结果和我们的原始数据是一致的,而遍历头插法得到的则是翻转后的。
在此需要特别声明,单链表之所以为单链表,就是因为我们只能从当前节点到下一节点,而无法到达上一节点,这是因为我们的节点内容中没有包含上一节点的指针。是无论如何也没有回头路的,而且要找到第k个元素也只能一个个找过去,无论是添加还是删除第k位我们都需要先到达目标位置的前一个节点才能进行操作。

经典算法:
寻找单链表中的最大值:

标签:node,插法,next,链表,数据结构,data,节点
From: https://www.cnblogs.com/wxL-videostreaming/p/18306575

相关文章

  • 重生之“我打数据结构,真的假的?”--2.单链表
    1.单链表介绍(不带头节点)1.1.链表的概念概念:链表是一种物理存储结构上非连续、非顺序的存储结构,但链表在逻辑上是连续的,顺序的,而数据元素的逻辑顺序是通过链表中的指针连接次序实现的。1.2.链表的结构typedefstructSListnode{ datatypedata; structSListnode*next;......
  • 【Java--数据结构】二叉树
    欢迎关注个人主页:逸狼创造不易,可以点点赞吗~如有错误,欢迎指出~树结构树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合注意:树形结构中,子树之间不能有交集,否则就不是树形结构常见概念  节点的度:一个节点含有子树的个数,如A的度为6......
  • Redis - 数据结构与底层实现
    一、Redis数据结构Redis支持五种主要数据结构:字符串(String)、列表(List)、哈希表(Hashe)、集合(Set)和有序集合(SortedSet)。这些数据结构为开发者提供了灵活的数据操作方式,满足了不同场景下的数据存储需求。字符串(Strings):最基本的数据类型,可以包含任何数据,如数字、字符串、二进制数据......
  • 王道数据结构课后习题详细分析 第二章线性表 2.1线性表的定义和基本操作
    单项选择题————————————————————————————————————————解析:正确答案:C————————————————————————————————————————解析:A:集合中的元素没有前后驱关系,错误;C:序列中整数不是有限个,错......
  • 【C++】链表相关的项目(2.0)
    链表相关的项目1.0需要请点击       ---------------------------------------------------准备工作首先弄几个可能会需要的头文件:#include<stdio.h>#include<stdlib.h>#include<string.h>typedefintADT;//定义自定义数据类型​​因为写的是关于......
  • 数据结构和算法——3.列表(List)
    列表(List)线性表的定义➢线性表:简称表,是n(n≥0)个具有相同类型的数据元素的有限序列➢线性表的长度:线性表中数据元素的个数➢空表:长度等于零的线性表,记为:......
  • 代码练习4-合并 k 个升序的链表。
    数据范围:节点总数 0≤......
  • 数据结构(Java):力扣&牛客 二叉树面试OJ题
    目录1、题一:检查两棵树是否相同 1.1思路分析1.2代码2、题二:另一颗树的子树2.1思路分析 2.2代码3、题三:翻转二叉树3.1思路分析3.2代码4、题四:判断树是否对称4.1思路分析 4.2代码 5、题五:判断是否为平衡二叉树5.1思路分析5.1.1平衡二叉树概念5.1.......
  • 数据结构和算法--2.算法复杂度
    算法复杂度算法分析➢同一算法用不同语言实现,用不同编译器,或是在不同计算机上运行,效率均不同➢使用绝对时间衡量算法效率不合适➢基本操作重复执行的次数作为算法的时间度量判断一个算法的效率时,函数中的常数和其他次要项常常可以忽略,而更应该关注主项(最高阶项)的阶数算法......
  • 数据结构与算法 —— Transformers之Pipeline
    Transformers之Pipeline是HuggingFaceTransformers库中提供的一种使用预训练模型进行推理的极简方式。这些Pipeline对象从库中抽象出大部分复杂代码,为多项任务(如命名实体识别、情感分析、特征提取和问答等)提供了简单的API。以下是对Transformers之Pipeline的详细介绍:一、......