线性表
两船兵就完事了
这个作者很懒,什么都没留下…
展开
-
数据结构——线性表(顺序存储)
线性表的顺序存储 顺序存储的线性表称顺序表 顺序存储特点建立方式1地址连续,2随机存取,3顺序存储1首地址,2储存空间大小,3表长1静态,2动态 优点 缺点 存储密度大,不需要为元素的逻辑关系额外开辟空间 插入和删除操作需要移动大量元素,平均时间复杂度O(n) 随机存取,可快速存取表中任一元素 对存储要求高,会出现存储碎片 顺序存储 1、线性表是一种逻辑结构,存储单元地址连...原创 2019-05-25 15:49:56 · 1550 阅读 · 0 评论 -
数据结构——线性表(双链表、循环链表、静链表)
双链表 单链表只有一个后继指针,所以只能从头节点依次向后遍历。要访问某个节点的前驱节点,只能从头开始遍历。访问后继节点时间复杂度为O(1),访问前驱节点为O(n)。 为了克服这个缺点,引入双链表。 1、双链表单个节点。 prior data next prior为前驱指针域 data为数据域 next为后继指针域 节点类型描述如下: typedef struct DNode{ ...原创 2019-06-08 14:01:26 · 113 阅读 · 0 评论 -
数据结构——栈
stack,只允许在一段进行插入或删除的受限线性表 先进后出的结构 栈的顺序存储(顺序栈) 1、顺序栈的存储类型 #define MaxSize 50 typedef struct{ ElemType data[MaxSize]; int top; }SqStack; /*栈顶指针S.top 初始时设置S.top==1 栈顶元素S.data[S.top] 栈空S.top==-1 栈满S.top...原创 2019-06-08 16:03:51 · 882 阅读 · 0 评论 -
数据结构——线性表(单链表)
线性表的链式存储 顺序表的插入、删除操作都需要移动大量的元素,因此引入了线性表的链式存储。它不要求逻辑上相邻的两个元素在物理位置上也相邻,因此,插入、删除操作只需要修改指针。 1、单链表单个节点 data next data为数据域,存放数据元素 next为指针域,存放后继节点的地址 节点类型描述如下 typedef struct LNode{ ElemType data; ...原创 2019-06-04 20:51:43 · 240 阅读 · 0 评论 -
数据结构——队列
Queue,一段入队,另一端出队的受限线性表FIFO 队列的顺讯存储结构(顺序队) 1、顺序队存储类型 #define MaxSize 50 typedef struct{ ElemType Data[MaxSize]; int front,rear; }SqQueue; 规定,初始时两个指针都指向数组下标为零的位置 ...原创 2019-06-28 18:50:25 · 184 阅读 · 0 评论