
堆栈
码不停Ti
信息安全在校大学生
展开
-
3-7 表达式转换 (20 分)
3-7表达式转换(20分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)...原创 2019-10-10 15:50:27 · 3530 阅读 · 1 评论 -
7-1 求前缀表达式的值 (50 分)
7-1求前缀表达式的值(50分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔...原创 2019-10-08 10:14:17 · 2320 阅读 · 0 评论 -
3-2 数组元素的区间删除 (20 分)
3-2数组元素的区间删除(20分)给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。函数接口定义:int Delete( int A[], int L, int minA, int maxA );其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为...原创 2019-09-23 20:55:49 · 690 阅读 · 0 评论 -
3-9 堆栈模拟队列 (20 分)
3-9堆栈模拟队列(20分)设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ...原创 2019-09-23 20:33:28 · 985 阅读 · 0 评论 -
2-8 符号配对 (20 分)
2-8符号配对(20分)请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则...原创 2019-09-22 22:20:04 · 2236 阅读 · 0 评论 -
2-5 Two Stacks In One Array (20 分)
2-5Two Stacks In One Array(20分)Write routines to implement two stacks using only one array. Your stack routines should not declare an overflow unless every slot in the array is used.Format of f...原创 2019-09-22 21:18:50 · 2301 阅读 · 0 评论 -
2-1 Add Two Polynomials (20 分)
2-1Add Two Polynomials(20分)Write a function to add two polynomials. Do not destroy the input. Use a linked list implementation with a dummy head node. Note: The zero polynomial is represented by ...原创 2019-09-22 20:56:46 · 1806 阅读 · 0 评论 -
2-2 学生成绩链表处理 (20 分)
2-2学生成绩链表处理(20分)本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:struct stud_node *createlist();struct stud_node *deletelist( struct stud_node *head, int min_score );函数createl...原创 2019-09-22 19:51:38 · 6803 阅读 · 3 评论 -
2-9 彩虹瓶 (20 分)
2-9彩虹瓶(20分)彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一...原创 2019-09-22 13:41:30 · 1906 阅读 · 1 评论 -
2-10 出栈序列的合法性 (20 分)
2-10出栈序列的合法性(20分)给定一个最大容量为M的堆栈,将N个数字按 1, 2, 3, ...,N的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正...原创 2019-09-22 10:06:26 · 3070 阅读 · 3 评论 -
2-3 链表拼接 (20 分)
2-3链表拼接(20分)本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2)...原创 2019-09-20 09:24:23 · 6382 阅读 · 6 评论 -
2-4 另类堆栈 (20 分)
2-4另类堆栈(20分)在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Positi...原创 2019-09-20 08:53:18 · 3188 阅读 · 0 评论 -
1-4 列车厢调度 (25 分)
1-4列车厢调度(25分) 1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下:有三...原创 2019-08-31 09:42:54 · 3019 阅读 · 0 评论 -
【未完成】1-2 汉诺塔的非递归实现 (25 分)
1-2汉诺塔的非递归实现(25分)借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”),并保证每个移动符合汉诺塔问题的要求。输入格式:输入为一个正整数N,即起始柱上的盘数。输出格式:每个操作(移动)占一行,按柱1 -> 柱2的格式输出。输入样例:3...原创 2019-08-30 09:11:50 · 3354 阅读 · 0 评论