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

单链表的定义

  

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

 

增加一个新的结点:在内存中申请一个结点所需空间,并用指针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;
else
    return 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.kler.cn/news/353887.html

相关文章:

  • 多进程思维导图
  • 在ArcGISPro中使用 SAR 数据和深度学习绘制洪水地图
  • Android GPIO方式解码红外数据
  • LeetCode讲解篇之2320. 统计放置房子的方式数
  • 学习Redisson实现分布式锁
  • 【Linux系统编程】环境基础开发工具使用
  • ⭐ Unity Pico PXR_SDK转场淡入淡出
  • kimi帮我解决ubuntu下软链接文件夹权限不够的问题
  • 基础数据结构——用递归完成冒泡排序
  • 【大数据】HDFS DataNode节点下线
  • IOS每次查询数据时,当前滚动的位置会跑到底部?
  • wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理的解决方法
  • Python脚本之获取Splunk数据发送到第三方UDP端口
  • java01作业说明:
  • 机器学习:情感分析的原理、应用场景及优缺点介绍
  • 对TCP/IP、HTTP协议原理的分析和总结
  • C++学习笔记----9、发现继承的技巧(一)---- 使用继承构建类(4)
  • 雷达手势识别技术
  • C++ IO多路复用 poll模型
  • 前端学习-CSS的三大特性(十七)