数据结构实验报告
无意呢
进击的程序猿
展开
-
【数据结构】如何使用栈来判定括号是否匹配
题目: 先定义堆栈的几个基本操作,再设计一主函数利用堆栈的操作完成以下功能:假设一个算术表达式中可以包含三种括号:()[]{},且这三种括号可以按任意次序嵌套使用(如:…[…{…}…[…]…]…(…))。编写判别给定表达式中所含括号是否正确配对出现的算法。 算法: a)创建一个栈 b)当(当前字符不等于输入的结束字符) 如果当前字符不是括号符,则忽略它 如果字符是一个开分隔符(如【,{,)...原创 2019-01-19 22:17:40 · 5673 阅读 · 0 评论 -
【数据结构】链式存储结构的基本操作
一、实验目的 掌握单链表,链式堆栈,链式队列的定义及基本操作 二、使用仪器、器材 笔记本一台 操作系统:Win7 编程软件:DevC++ 三、实验内容及原理 (一)单链表的定义及基本操作 用带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表中,链 表中允许两个结点有相同值。链表的头结点存放链表后面的结点个数,初始化时 就生成头结点(初值为 0)。 在上述带表头的链表中删除第...原创 2019-01-19 22:57:57 · 1815 阅读 · 0 评论 -
【数据结构】如何利用栈将中缀表达式转换为后缀表达式
两种表达式 中缀 后缀 A+B AB+ A+B*C ABC*+ (A+B)*C-D AB+C * D- 重要性质 中缀表达式1+24和后缀表达式124+中,数字顺序是一样的,只有算术符号顺序不一样 只需一个栈就可以把中缀转后缀,利用栈把表达式中的运算符次序从中序改为后序。栈中只存放运算符和左括号,由于后缀表达式中不存在括号,所以输出的时候将不输出括号。 算法 a...原创 2019-01-20 14:25:38 · 3957 阅读 · 0 评论 -
【数据结构】计算后缀表达式的值
题目 我们平常使用的计算表达式都是中缀表达式,而输入计算机后会转换为后缀表达式,即计算机只能计算后缀表达式,那么如何将一个中缀表达式转换为一个后缀表达式? 算法 1)从左到右扫描后缀表达式字符串 2)初始化一个空栈 3)如果扫描到数字,那么就直接入栈 4)如果被扫描的字符是一个二元运算符,那么就连续出栈两次,获得两个字符,元素出栈后,应用运算符进行计算,并将结果压栈 5)重复3)和4)的操作...原创 2019-01-20 17:33:46 · 4178 阅读 · 1 评论