数据结构
cai_niaocainiao
这个作者很懒,什么都没留下…
展开
-
线性表的顺序存储结构及基本操作
学习书籍《大话数据结构》,自学完后,总结一下,以后也好复习 ,欢迎互相交流。线性表的基本操作功能如下:InitList(*L): 初始化操作,建立一个空的线性表LListEmpty(L): 若线性表为空,返回true,否则返回falseClearList(*L): 将线性表清空GetElem(L,i,*e) : 将线性表L中的第i个位置元...原创 2018-10-03 22:16:36 · 4683 阅读 · 0 评论 -
线性表的链式存储结构
顺序存储在进行插入和删除时,需要移动大量数据,耗费时间,使用链式存储结构可以有效的解决这个问题。链式存储的结点由存放数据元素的数据域和存放后继结点地址的指针域组成。线性表的基本操作功能如下:InitList(*L): 初始化操作,建立一个空的线性表LListEmpty(L): 若线性表为空,返回true,否则返回falseClearList(*L)...原创 2018-10-05 17:10:19 · 283 阅读 · 0 评论 -
单链表结构与顺序存储结构优缺点比较
定义顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素。由于表中各个元素具有相同的属性,所以占用的存储空间相同。线性表按链式存储时,每个数据元素 (结点)的存储包括数据区和指针区两个部分。数据区存放结点本身的数据,指针区存放其后继元素的地址只要知道该线性表的起始地址表中的各个元素就可通过其间的链接关系逐步找到 单链表结构与顺序存储结构对比:存储分配方式 ...原创 2018-10-05 17:26:53 · 1555 阅读 · 0 评论 -
静态链表的基本操作
定义:用数组描述的链表叫做静态链表,这种描述方法还有起名叫做游标实现法。基本操作:Status InitList(StaticLinkList space) :将一维数组space中各分量链成一个备用链表int Malloc_SLL(StaticLinkList space):若备用空间链表非空,则返回分配的结点下标,否则返回0void Free_SSL(StaticLinkL...原创 2018-10-21 13:40:00 · 626 阅读 · 0 评论 -
顺序栈 C语言
栈是限定仅在表尾进行插入和删除操作的线性表。栈的抽象数据类型ADT 栈(stack)Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系Operation InitStack(*S):初始化操作,建立一个空栈S ClearStack(*S):将栈清空 StackEmpty(S):若栈为空,返回true,否则返回false GetT...原创 2019-04-08 15:00:07 · 689 阅读 · 0 评论 -
两栈共享空间 C语言
顺序栈存储还是很方便的,不过它有一个致命的缺点,就是必须事先确定数组存储空间大小,万一不够用了,就需要编程手段来扩展数组的容量。但如果我们有两个相同类型的栈,我们为他们各自开辟了数组空间,这时,我们完全可以用一个数组存储两个栈。栈的抽象数据类型ADT 栈(stack)Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系Operation I...原创 2019-04-08 20:54:34 · 959 阅读 · 4 评论 -
链式栈 C语言
链栈:栈的链式存储结构 顺序栈的实现在于使用了数组这个基本数据结构,数组中的元素在内存中的存储位置是连续的,且编译器要求我们在编译期就要确定数组的大小,这样对内存的使用效率并不高,一来无法避免因数组空间用光而引起的溢出问题,二在系统将内存分配给数组后,则这些内存对于其他任务就不可用;而对于链栈而言,使用了链表来实现栈,链表中的元素存储在不连续的地址,由于是动态申请内存,所以我们可以以...原创 2019-04-09 18:10:41 · 420 阅读 · 0 评论