实验6.栈的基本操作:push和pop.pdf

 2024-02-06 01:06:14  阅读 0

实验六个堆栈的基本操作:push 和 pop1。 实验目的 (1)掌握栈的基本概念。 (2)掌握栈的入栈和出栈操作,能够使用数组模拟栈操作。 2、实验准备 (1)阅读本教材4.3节。 (2)复习本教材9.5节的内容。 3. 热身实验——模拟堆栈操作 给定一个模拟堆栈操作的程序,主函数调用push子函数和pop子函数,如图6.1所示。 回答下列问题。 问题1:假设程序依次读取7个值,2,1,3,5,7,9,8,模拟程序运行并给出输出结果。 问题2:解释一下push函数和pop函数的作用。 (a) main 函数 (b) push 函数 (c) pop 函数 (d) 图 6.1 模拟堆栈操作的程序示例 4. 高级实验 4.1 两个堆栈用一个数组表示。 设计一个程序,用数组实现两个栈A、B,规定栈A的最大长度为40,栈B的最大长度为60,要求两个栈都不会溢出。 4.2 两个栈模拟一个队列。 某公司的一道笔试题,要求写一个程序,用两个栈来模拟队列,达到“先进先出”的效果。 请设计一个程序来实现该功能。 (有关队列的知识请参阅本教材4.3节) 5、综合实验——括号匹配检验假设表达式中允许包含圆括号、方括号和大括号三种括号。 这三个支架可以以任何方式使用。 按顺序嵌套,最里面的括号可以添加字符,如{[(a+b)]}、[{a+b+c}]等是正确的格式,而[a+b)、 {[ ab}] 等都是不正确的格式,这意味着同一级别的括号必须相互匹配。 设计一个程序,使用堆栈来确定输入表达式的格式是否正确。 热身实验参考答案问题1:程序首先读取7个值2,1,3,5,7,9,8,并将这7个元素一一压入栈中。 此时栈底元素为2,栈顶元素为8,栈顶指针为7。main函数进入第一个循环,一共执行了3次栈操作。 依次取出8、9、7。 此时栈顶元素为5,top为4。最后输出栈中所有元素,结果为2,1,3,5。 问题2:push是push操作。 元素入栈后,top加1。pop是出栈操作。 元素出栈后,top

标签: 括号

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码