一、链式存储结构的特点

用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,每个结点都必须有指针域。

二、单链表

1.定义:每一个结点只含有一个指针域的链式结构称为单链表。
2.单链表结点的类型定义:

typedef struct Lnode{int data;    //数据域struct Lnode *next; //指针域
}Lnode,*LinkList;

3、关于带头节点的单链表及不带头节点的单链表
(1)带头节点的单链表为空时:L->next==NULL;
(2)不带头节点的单链表为空时:L=NULL;

三、单链表的基本操作

1、单链表中获取一个元素
(1)找第i个结点

GetElem(LinkList L,int i,int e)
{int j;LinkList p;p=L->next;j=1;//p指向第一个结点,j为计数器i=3;  //假设需要找第3个结点while(p&&j<i)  //当p指针不为空并且还未到达第i个结点{p=p->next;  //p指向下一个结点j++;    //计数器加一}if(!p||j>i)return ERROR;//第i个元素不存在else e=p->data;return OK;
}

(2)找值为x的元素

GetElem(LinkList L,int x,int e)
{while(p&&p->data!=x){p=p_>next;}if(!p)return ERROR;//不存在值为x的结点else e=p->data;return OK;
}

单链表的定义、表示及操作(一)相关推荐

  1. (王道408考研数据结构)第二章线性表-第三节1:单链表的定义及其操作(插入和删除,建立之尾插和头插)

    文章目录 一:单链表相关 (1)单链表的定义 (2)头指针与头结点 二:单链表代码描述 三:单链表的初始化 四:单链表的插入 五:单链表的删除 六:单链表查找 (1)按位查找 (2)按值查找 七:单链 ...

  2. 链表的特点,单链表的定义、存储结构,单链表的基本操作(判断链表是否为空、销毁链表、清空链表、求链表表长、查找、插入、删除,建立单链表)

    目录 一.链表(链式存储结构)的特点 二.单链表的定义和表示 1.带头结点的单链表 2.单链表的存储结构 三.单链表基本操作的实现 1.单链表的初始化(带头结点的单链表) 2.补充单链表的几个常用简单 ...

  3. 单链表——单链表的定义及基本操作(初始化、头插法尾插法建表、查找、插入、删除、判空等)

    文章目录 单链表的定义 单链表上的操作 初始化 建立单链表 头插法建立单链表 尾插法建立单链表 遍历单链表 求单链表的长度 查找操作 按值查找 按位查找 插入操作 删除操作 判空操作 完整代码及实例 ...

  4. 数据结构课本学习 --单链表类定义

    单链表的类定义: 复合类: class List;class LinkNode{ //结点类定义 friend class List; //List类所有成员可以使用LinkNode的私有成员,反过来 ...

  5. 算法精解_C语言 链表_单链表(接口定义+类型实现)

    链表可以说是一种最为基础的数据结构.链表由一组元素以一种特定的顺序组合或链接而成,在维护数据的集合时很有用.这一点同我们常用的数组很相似.然而,链表在很多情况下比数组更有优势.特别是在执行插入和删除操 ...

  6. 创建一个非循环单链表并对其进行操作

    首先我们定义一个节点结构体,他的一部分是存储数据,一部分存储指针指向下一个节点. 下面是代码: typedef struct Node {int data; //数据域struct Node * pN ...

  7. 数据结构单链表的创建以及简单操作

    在数据结构中: 目录 一.数据节点类型结构体封装 二.创建单链表 1.创建链表 2.头部插入 3.遍历链表 4.尾部插入 5.释放链表 链表可以解决顺序表无法开辟连续空间的问题,大大提高了内存的利用率 ...

  8. 单链表的定义、特点、结构及其一些基本操作

    一,基本运算 1,单链表,双链表的定义: 设计链式存储结构时,每个逻辑节点存储单独存储. 2,单链表的基本结构:  头节点在前,首节点在后. 3,顺序表与链表间存储密度的差异: 顺序表的存储密度为1, ...

  9. c语言单链表的查找,单链表的查找、建立操作(C语言)

    一.单链表的查找(带头结点) (一)按位查找 GetElem(L,i):按位查找操作.获取表L中第i个位置的元素的值. //按位查找,返回第i个元素(带头结点) LNode * GetElem(Lin ...

最新文章

  1. 程序员能成为设计师吗
  2. 自动化C语言第一次月考试卷,145班《计算机组成与工作原理》第一次月考试卷...
  3. swift 注意事项 (十六) —— 可选链
  4. find 和 DOM遍历孰快孰慢~
  5. C#流程控制语句--跳转语句(break,continue,goto,return,)
  6. 想写Python爬虫?看这5个教程就行了!
  7. CRM Order confirmation form布局
  8. 字符串处理 —— 模拟与暴力
  9. 轮盘赌算法的java实现算例
  10. spring之@value设置默认值
  11. Android开发工具集合
  12. 全国最新省市县联动mysql_全国省市县区三级联动数据库mysql3500条数据-html资源网...
  13. iOS 设置导航栏全透明
  14. 浏览器无法加载本地文件
  15. Fengshui(双向bfs看风水···)
  16. 关于物联网进入元宇宙时代的基础与发展思考
  17. [CTF从0到1学习] 一、CTF 概述
  18. vMotion及Storage vMotion配置
  19. 天下事,有所激有所逼而成者居其半
  20. 使用scp复制传输windows文件到linux

热门文章

  1. win7台式电脑开始菜单没有休眠选项
  2. Python爬虫:爬取美拍小姐姐视频
  3. Android打开和关闭输入法
  4. 卷积神经网络实战二 电机轴承故障分类
  5. 地方网站如何留住用户?
  6. 电子秤方案—交流体脂称方案
  7. 玉米社:抖音短视频KOL是什么意思?抖音KOL推广有用吗?
  8. 写出高性能的javascript代码
  9. error:0308010C:digital envelope routines::unsupported
  10. 华为机试HJ97:记负均正