数据结构之单链表
来源:互联网 发布:青山软件官网 编辑:程序博客网 时间:2024/06/14 10:29
有几个基本概念需要掌握,如下:
1.表头结点
链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息。
2.数据结点
链表中代表数据元素的结点,包含指向下一个数据元素的指针和数据元素的信息
3.尾结点
链表中的最后一个数据结点,其下一元素指针为空,表示无后继
这里主要介绍线性表的常用操作:
l 创建线性表
l 销毁线性表
l 清空线性表
l 将表中元素倒置
l 表元素插入
l 表元素删除
l 获取表中某个位置的元素
l 获取表长度
代码总分为三个文件:
LinkList.h : 放置功能函数的声明,以及表的声明,表结点的定义
LinkList.c : 放置功能函数的定义,以及表的定义
Main.c : 主函数,使用功能函数完成各种需求,不过一般用作测试
这里着重说下插入操作﹑删除操作和倒置操作:
插入操作:
如图
插入元素方法:
首先判断线性表﹑插入位置是否合法
由表头开始通过next指针移动pos次后,当前元素的next指针即指向要插入的位置
把当前元素(current)的next指针包含的地址赋给新元素(node)的next指针
把新元素(node)的地址赋给当前元素(current)的next指针
最后把线性表长度加1
删除操作:
如图
删除元素方法:
首先判断线性表﹑删除位置是否合法
获取第pos个元素
将第pos个元素的next指针保存的地址赋给第pos个元素前一个元素的next指针
最后把表长度减1
倒置操作:
如图
倒置元素方法:
把头结点指向的首元素的next指针赋为NULL
然后把首元素以后的结点依次每个插入到头结点和首元素中间
OK! 上代码:
LinkList.h
LInkList.c
main.c
- 数据结构学习之单链表
- java数据结构之单链表
- 数据结构之单链表
- 数据结构学习之单链表
- 数据结构之单链表反转
- 数据结构之单链表
- 数据结构之, 单链表
- 数据结构之单链表
- 数据结构之单链表
- C++数据结构之单链表
- C++数据结构之单链表
- 数据结构之单链表
- 数据结构之单链表
- 大话数据结构之单链表
- C数据结构之单链表
- 数据结构基础之单链表
- javascript 数据结构 之 单链表
- 数据结构之单链表操作
- win10环境 python添加xgboost包
- Centos7安装cairo-dock桌面美化
- Joseph (约瑟夫环(打表))
- 【Swift】QuickLook--QLPreviewController文档查看器
- mysql解决 Access denied for user ‘root’@’localhost’ 问题
- 数据结构之单链表
- ffmpeg安装及简单使用
- HDU 4745 Two Rabbits——最长回文子串
- 第五讲 Bean的作用域和自动装配
- 蓝桥杯第六届决赛JavaB代码填空题
- oracle keep(dense_rank ) over()
- 【视频采集方案】
- Android onTouch方法调用了两次的问题
- Android核心服务解析篇(三)——Android系统的启动