首页 > 其他分享 >单链表的定义和使用(例子)与单链表的基本操作与实现

单链表的定义和使用(例子)与单链表的基本操作与实现

时间:2022-10-07 19:34:41浏览次数:49  
标签:结点 单链 return 定义 指向 next 基本操作 指针

存储学生学号、姓名、成绩的单链表结点类型定义:

typedef Struct{
 char num[8];  //数据域
 char name[8];  //数据域
 int score;  //数据域
}Elem Type;
typedef struct Lnode{
  ElemType data;  //数据域
  struct Lnode *next;  //指针域
}

单链表的基本操作:
   初始化(创建一个空表)

status InitList_L(LinkList &L){
   L = new Lnode; //生成一个新节点作头结点,用头指针L指向头结点,L为指针变量
   L->next=NULL;   //将头结点的指针域置空
   return ok;
}

判断链表知否为空(只需判断链表的指针域是否为空即可)

int ListEmpty(LinkList){
   if(L->next)
      return 0; //非空
  else 
     return 1;
}

单链表的销毁:(是将所有的结点包括头指针全部销毁,不存在)

Status DESTROYlist_L(LinkList &L){  //销毁单链表L
     Lnode *p;  //定义指针变量,用于指向要销毁的结点
    while(L){   //因为要一个结点一个结点的移动,所以要借助循环来移动
     p=L;  //让指针P指向L当前所指向的结点
    L=L->next;
    delept p;
}
    return OK;  //删除完毕
}

清空链表  不啦不啦 。。。。搜搜吧,不想敲了

指针指向头结点 使用  P=L;语句

指针指向首元结点 使用 P = L->next;语句

p指向下一结点: p=p->next;

标签:结点,单链,return,定义,指向,next,基本操作,指针
From: https://www.cnblogs.com/zheng-yumeng/p/16760481.html

相关文章

  • android自定义控件无法显示的原因
    android自定义控件无法显示的原因​​编者:李国帅​​​​时间:2020/8/1 ​​背景:Android开发中经常会遇到时间选择,而且经常会被要求使用类似ios的滚轮风格。只是android并......
  • jira项目笔记17-自定义useArray
    2-1、要求自定义一个useArray的customhook。结合react-hook和typescript,实现对数组简单的增加、删除、清空的那个功能,并且对增加的对象类型有限制2-2、代码实现export......
  • MyBatis框架:第八章:自定义结果集,一对一,一对多,延迟加载,赖加载
    13.1、自定义结果集介绍自定义结果集,可以给复杂的对象使用。也就是对象内又嵌套一个对象。或者一个集合。在这种情况下。前面学过的知识点,已经无法直接获取出对象内对象......
  • 表现层与前端传输数据协议定义
    表现层数据封装整体的思路就是统一前端接受数据格式,创建一个类,用类的属性来封装表现层传输到前端的数据。packagecom.rsh.ssm.controller;publicclassResult{......
  • 【Vue3.x】自定义hooks
    Vue3hooksvue2里的mixins相似,但是mixins会组件的配置项覆盖。vue3使用了自定义hooks替代mixnins,hooks本质上是函数,引入调用。封装自定义的hooks将图片转化成base64im......
  • Android 自定义View - 柱状波形图 wave view
    前言柱状波形图是一种常见的图形。一个个柱子按顺序排列,构成一个波形图。柱子的高度由输入数据决定。如果输入的是音频的音量,则可得到一个声波图。在一些音频软件中,我们也可......
  • KAL1 LINUX 官方文档之虚拟机版本 --- 自定义 Kali Vagrant Vagrantfile(更新于2022)
    Vagrant在开始时有一个很棒的功能,您可以在其中创建一个对您尝试安装的盒子唯一的Vagrantfile。例如,Kali在启动KaliVagrant机器时有这个Vagrantfile:kali@kali:~$c......
  • nginx自定义时间格式
    在每个server中加入:if($time_iso8601~"^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})"){set$year$1;......
  • 【Vue3.x】自定义指令directive
    自定义指令directive不同于vue2指令bindinsertedupdatecomponentUpdatedunbind1.vue3指令中的钩子函数created元素初始化的时候beforeMount指令绑定到元素后......
  • 如何在 Spring Security 中自定义权限表达式
    在​​前面的文章​​中,松哥已经和小伙伴们聊了SpringSecurity中的权限表达式了,还没看过的小伙伴们可以先看下,本文将在前文的基础上继续完善:​​SpringSecurity中,想在......