数据结构
文章平均质量分 56
..哲
学习分享
展开
-
【数据结构】栈的应用--括号匹配的检验
假设表达式中允许包括三种括号 “(” “{” “[”。嵌套顺序随意,“({}[])”或“{]({{}}))”都可以。但是第一种正确,第二种不正确。检验括号是否匹配可用“期待的急迫程度”这个概念来描述。如果当前括号为“(”下一个括号为“)”,则匹配,即可弹栈。而当前括号为“(”,而下一个括号为“}”。则将“}”压栈。当读取完所有括号后。检验栈是否为空即可。如果栈为空,则括号都已匹配,如果不空,则表示括号不匹配。 这里我用的是链栈。由于不知道用户输入括号的长度,所以先让用户输入...原创 2022-03-19 15:07:03 · 4906 阅读 · 0 评论 -
【数据结构】顺序栈和链栈的实现
目录顺序栈 链栈栈是限定仅在表尾进行插入或者删除操作的线性表。表尾端称为“栈顶(top)”,表头端称为栈底(bottom)。不含元素的空表称为空栈。栈的修改按后进先出的原则进行,即后进先出(last in first out)如下图所示顺序栈下面看顺序栈的结构体定义typedef struct { SElemType *base;//栈底指针 SElemType *top;//栈顶指针 int stacksiz...原创 2022-03-18 23:26:51 · 2402 阅读 · 0 评论 -
【数据结构】单链表的基本操作及实现
线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其直接后继数据元素之间的逻辑关系,对数据元素来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。这两部分信息组成数据元素的存储映像,称为节点,它包括两个域,其中存储数据单元信息的域被称为数据域,存储直接后继存储位置的域被称为指针域,指针域中的存储信息乘坐指针或链。n个节点((1<=i<=n)的存储映像...原创 2022-02-26 22:28:19 · 7432 阅读 · 4 评论 -
【数据结构】线性表的顺序存储表示以及实现
目录代码实现实现截图线性结构的特点:(1)存在唯一的而一个被称作“第一个”的数据元素;(2)存在唯一的一个被称作“最后一个”的数据元素;(3)除出第一个之外,集合中的每个数据元素均只有一个前驱;(4)除最后一个之外,集合中的每个数据元素均只有一个后继;线性表是最常用且最简单的一种数据结构。顺序存储,随机存取。线性表的顺序表示指的是用一组地址连续的存储单元一次存储线性表的数据元素。假设线性表的每个元素占用L个存储单元,并以所占的第一个单元的存...原创 2022-02-24 18:30:30 · 871 阅读 · 0 评论