数据结构一(线性表)

绪论中我们大体介绍了数据结构的概念,接下来我们就从逻辑结构具体介绍几种结构。
我们知道数据结构分为逻辑结构、存储结构、数据的运算。既然我们从逻辑结构方面具体介绍各个数据结构,那么接下来,我们只用掌握它的存储结构和基本操作运算就好啦。
首先介绍的是线性结构中的线性表。
一、存储结构

  • 顺序存储结构:不多介绍了。
  • 单链表/线性链表:(1)数据元素ai的存储结构称为结点,包括data域和next域,并且单链表还有一个头指针L,指向第一个结点的数据域(2)有的链表还会有头结点,在链表的第一个结点之前增设一个头结点,头指针指向头结点,头结点的数据域可以不储存任何信息,也可以存储如线性表的长度类似信息;指针域存储首元结点的位置。头结点的作用:使在链表中第一个位置的操作与其他位置一致,无特殊处理,统一空表与非空表的操作。
  • 循环单链表:分为头指针L的循环链表和尾指针r的循环链表
    (1)头指针:最后一个结点的指针域指向头结点
    (2)尾指针:尾指针指向头结点
  • 双向链表:data,*prior,*next
  • 双向循环链表:头结点的prior指向最后一个节点
    p的next\prior指向的都是结点,p s本身就是节点
    当插入或删除一个结点时,考虑被删结点的后继的前驱和前驱的后继
    单链表的存储结构都一样,双向链表的也一样,只是循环与否的操作不一样

二、数据操作
单链表和循环链表的操作基本一致,只是循环条件从p=NULL,变成了p=L
下面以单链表为例
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41994702/article/details/85917851