当前位置: 首页 > news >正文

单链表的定义

  

那么如何用代码定义一个单链表呢?

 

增加一个新的结点:在内存中申请一个结点所需空间,并用指针p指向这个结点

typedef关键字--数据类型重命名

typedef <数据类型> <别名>

typedef struct LNode LNode;

LNode *p=(LNode *)malloc(sizeof(LNode));

 不带头结点的单链表:

typedef struct LNode{ //定义单链表结点类型ElemType data; //每个节点存放一个数据元素struct LNode *next; //指针指向下一个节点
}LNode, *LinkList;//初始化一个空的单链表
bool InitList(LinkList &L) {L = NULL; //空表,暂时还没有任何结点 防止脏数据return true;
}  
//判断单链表是否为空bool Empty(LinkList L) 
{ if (L == NULL)return true;
elsereturn false;
void test()
{LinkList L; //声明一个指向单链表的指针 //初始化一个空表InitList(L);
}

带有结点的单链表:

typedef struct LNode{ //定义单链表结点类型ElemType data; //每个节点存放一个数据元素struct LNode *next; //指针指向下一个节点
}LNode, *LinkList;//初始化一个空的单链表
bool InitList(LinkList &L) {L=(LNode *)malloc(sizeof(LNode));//分配一个头结点if(L = NULL)
return false;L->next = NULL;//头结点之后暂时没有节点 return true;
}  
void test()
{LinkList L; //声明一个指向单链表的指针 //初始化一个空表InitList(L);
}

总结:

 完!!


http://www.mrgr.cn/news/52548.html

相关文章:

  • 数据结构 —— 链式二叉树(C语言讲解)
  • 【蓝队技能】【C2流量分析】MSFCSSliver
  • netron安装(windows linux)
  • VS2022如何查看dll的函数
  • 模型实战(27)之 YOLO11 推理、验证及训练自己的数据集
  • Java设计模式六大原则
  • 【Vue】Vue3.0 (十二)、watchEffect 和watch的区别及使用
  • FreeRTOS - 软件定时器
  • 机器学习——主要分类
  • 系统工程概述
  • 智能算力中心万卡GPU集群架构深度解析
  • 【人工智能】实验室GPU资源申请使用
  • AI+Xmind彻底解决你的思维导图
  • Python学生成绩管理系统在用户交互方面有哪些创新设计?
  • 除GOF23种设计模式之简单工厂模式
  • 微分几何-曲线论(曲线)
  • 探索Python中的多线程与多进程
  • python的多线程和多进程
  • 力扣 3.无重复字符的最长子串——Java
  • C++简答题复习