线性表相关读书笔记

这篇博客详细介绍了如何创建单链表,包括头插法和尾插法,并提供了具体的代码实现。此外,还给出了两个链表操作的练习题,分别是拆分链表为两个元素交替的链表和使链表元素递增有序排列的算法解决方案。
摘要由CSDN通过智能技术生成

在单链表中,假设每个节点的类型用LinkList表示,它应包括存储元素的数据域,这里用data表示,其类型用通用类型标识符ElemeType表示,还包括存储直接后继节点位置的指针域,这里用next表示。
LinkList类型的定义如下:

typedef struct LNode    //定义单链表节点类型
{
    ElemeType data;    //数据域
    struct LNode *next;//指向直接后继节点   
}LinkList;

对于双链表,采用类似的定义

typedef struct DNode    //定义单链表节点类型
{
    ElemeType data;    //数据域
    struct DNode *prior;//指向直接前驱节点  
    struct DNode *next;//指向直接后继节点   
}DLinkList;
两种方式建立单链表
  • 头插法建表
    该方法从一个空表开始,读取字符数组a中的字符,生成新节点,将读取的数据存放到新节点的数据域中,然后将新节点插入到当前链表的表头上,知道字符数组a的所有元素读取完为止。
    代码如下
void CreatLi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值