【Dongle】【数据结构】Linklist L、Linklist *L、Node *p 和Node p

2023-11-06

       最近在做数据结构导论试题的时候无意中发现答案中有用到这些东西的Linklist L、Linklist *L、Node *p 和Node p,不过不清楚都具体指什么,故而从网上查找了一番:

       先定义一个单链表结构体:

typedef struct node 
{ 
      DataType  data;   //数据域
      struct  node * next;   //指针域
}Node,* LinkList;   //Node是链表节点的类型
//sturct node类型定义为Node,指针类型定义为LinkList(一般表示链表类型,实质是头指针类型)


Linklist L

        定义一个单链表类型的单链表L;

        L可以作为指向定义的node结构体的指针;


Linklist *L

一般,用头指针表示链表类,即实质是该链表的头指针类型

        L是指向定义的Node结构体指针的指针,所以(*L)是指向Node结构体的指针,可以用->运算符来访问结构体成员,即(*L)->elem,当然,(**L)就是Node型结构体了,所以可以用点运算符来访问结构体成员,即(**L).elem;

       在链表操作中,我们常常要用链表变量作物函数的参数,这时,用LinkListL还是LinkList *L就很值得考虑深究了,一个用不好,函数就会出现逻辑错误,其准则是:

  • 如果函数会改变指针L的值,而你希望函数结束调用后保存L的值,那你就要用LinkList*L,这样,向函数传递的就是指针的地址,结束调用后,自然就可以去改变指针的值;
  • 而如果函数只会修改指针所指向的内容,而不会更改指针的值,那么用LinkListL就行了;

Node *p

        定义了一个node类型的结构体指针p,p是工作指针(初始时p指向)

Node p

        在网上到时没有查到Node p的使用,不过倒是查到了P=new node()的使用,也表示node类型的指针。

Node区别

       node*p程序结束后会自动删除;

       new node不会自动删除,会用到delete函数删除。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Dongle】【数据结构】Linklist L、Linklist *L、Node *p 和Node p 的相关文章

  • Jupyter Lab 启用在线实时协同功能 实现协作编程

    文章目录 一 前言 二 主要内容 三 总结 CSDN 叶庭云 https yetingyun blog csdn net 一 前言 Jupyter Notebook 是一个开源的 Web 应用程序 允许你创建和共享包含实时代码 方程 可视化
  • 博客迁移通告

    各位博友 鉴于一些个人原因 本人博客迁移至博客园 https www cnblogs com horacle 欢迎访问和关注

随机推荐

  • 七、Redis 主从复制以及哨兵模式的详细图解

    概念 主从复制 是指将一台Redis服务器的数据 复制到其他的Redis服务器 前者称为主节点 master leader 后者称为从节点 slave follower 数据的复制是单向的 只能由主节点到从节点 Master以写为主 Sla
  • 计算机网络---应用层

    文章目录 域名系统DNS 互联网的域名结构 域名服务器 文件传送协议FTP FTP的基本工作原理 简单文件传送协议TFTP 远程终端协议TELNET 万维网 统一资源定位符URL 超文本传送协议HTTP 万维网的文档 电子邮件294 动态主
  • e7用什么主板_【有趣】第3期:八路E7的结局如何?盘点历代至尊版处理器现价...

    0 前言 什么八路E7 四路泰坦 你想在显卡吧出人头地受人膜拜 进阶的门槛似乎有些高 不过不论是当年人们口中顶级的至强E7 8870 还是GTX Titan 都经受不住时间的考验 现在组8路E7要不是主板不好买 要不然 这8个CPU加起来
  • no model named “compat“ ,Tensorflow 版本问题

    查看我的版本 Module tf compat TensorFlow Core v2 6 0Compatibility functions https tensorflow google cn versions r2 6 api docs
  • ChatGPT写文章教程_如何使用ChatGPT写文章

    如何用ChatGPT写出高质量文章 ChatGPT是一种基于人工智能技术的自然语言处理工具 它可以生成高质量的文章 但是如何利用它来写出优秀的文章呢 本文将为你介绍如何使用ChatGPT来写出高质量的文章 一 什么是ChatGPT Chat
  • MySQL数据库——DML基本操作

    文章目录 前言 插入数据 全列插入 指定列插入 修改数据 删除数据 前言 前面我们学习了MySQL DDL操作 对数据库和表的结构的操作 那么今天我将为大家分享MySQL DML操作 对表数据的操作 MySQL DML操作有以下几种 插入操
  • linux下的定时任务

    linux环境下 我们有两种常用的方式实现定时的任务 等待一段时间后执行某任务 一次性 该类型的需求直接通过sleep方法即可完成 1小时候执行ls任务 并将输出重定向至ls log sleep 1h ls gt gt ls log 每日定
  • 对话Sam Altman与Greg Brockman:初心和过去,信念和现在,责任和未来

    导读 近日 硅谷著名投资人Reid Hoffman和Aria Finger联手对Sam Altman和Greg Brockman进行了一场访谈 访谈涉及到主题有 OpenAI的使命 人工智能对教育 医疗等行业的变革性影响 人工智能如何面对监
  • 涂鸦TuyaOS SDK 网关例程-wifi配网

    涂鸦TuyaOS SDK 网关例程 wifi配网 使能WIFI配网预编译宏定义 net tools相关文件路径 配网步骤 如果一直都没配网成功 看下面 总结 使能WIFI配网预编译宏定义 例程默认没开WiFi的demo使能 代码预编译开启使
  • 大学计算机python怎样一个星期速成?

    一 Python基础知识 黑马程序员Python入门教程 适合零基础自学的Python教程 1 学习内容 计算机组成原理 计算机组成部分 操作系统分类 B S和C S架构 理解什么是软件和硬件 Python编程规范 字符串 字典 列表 元组
  • linux网络配通

    Linux网络配置 vim etc sysconfig network scripts ifcfg ens33 ONBOOT yes DNS 8 8 8 8 IPADDR 192 168 118 90 NETMASK 255 255 255
  • 最新版本EMGU使用说明 V4.2

    最新版本EMGU使用说明 V4 2 项目打开nuget搜索 Emgu CV Emgu CV runtime windows 下载安装 说明 netstandard 2 0环境版本 Emgu CV runtime windows 为windo
  • layui的框架导入

    目录 1 导入步骤 2 框架包含的组件 1 导入步骤 1 1 下载框架包 http www layui com 1 2 将layui文件夹拷入项目位置 1 3 页面中导入 layui all js layui css 和 jquery 即可
  • docker启动Nacos docker run requires at least 1 argument.

    nacos启动命令 docker run d e PREFER HOST MODE ip e MODE standalone e SPRING DATASOURCE PLATFORM mysql e MYSQL SERVICE HOST 4
  • glide的基本使用及进阶使用

    glide生命周期管理 内存管理 缓存机制 加载器 观察者模式 前言 本系列博文主要通过借鉴其他优秀博文以及自己的实际开发经验综合得出 主要分析glide相关使用 机制以及设计模式等内容 相信这篇博文会让你对glide有更加深入的理解 本篇
  • 如何手动优化xp系统

    1 删除系统备份的文件 直接在 开始 菜单的 运行 对话框中 输入sfc exe purgecache就可以了 2 删除系统中的帮助文件 如果你没有看帮助的习惯 况且在有时候误操作的时候 常把帮助对话框调出来 就删除了吧 免得浪费空间 找到
  • python项目快速生产依赖库列表

    安装pipreqs库 pip install pipreqs 在项目工程根目标执行以下命令 生成requirements txt pipreqs encoding utf8
  • Debian 8.2 安装docker

    一 安装docker io包之前 需要先设置使用backports源 编辑 etc apt sources list文件 加入下面这一句 deb http http debian net debian jessie backports ma
  • Python进阶-函数、模块和包

    使用如下方法 可以使函数接受不定数目的参数 def add x args total x for arg in args total arg return total 这样定义的函数不能使用关键词传入参数 要使用关键词 可以这样 def a
  • 【Dongle】【数据结构】Linklist L、Linklist *L、Node *p 和Node p

    最近在做数据结构导论试题的时候无意中发现答案中有用到这些东西的Linklist L Linklist L Node p 和Node p 不过不清楚都具体指什么 故而从网上查找了一番 先定义一个单链表结构体 typedef struct no