堆栈
Z. Jia
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法题目集7-22 堆栈模拟队列(c语言实现)
原题链接 这道题还是有点有趣的,我们首先需要了解堆栈是后进先出,队列是先进先出这一特点,然后根据这一特点来用堆栈模拟队列 入队列: s1未满,s2空:元素入栈s1 s1满,s2非空:输出错误:已满 s1满,s2空:将s1的元素倒入s2,将新元素入栈s1 s1未满,且非上面的情况:元素入栈s1 if(isfull(s1)!=1 && isempty(s2)){ push(&am...原创 2020-05-06 09:36:42 · 895 阅读 · 0 评论 -
数据结构与算法题目集7-20 表达式转换(c语言实现)
原题链接 这道题需要考虑负数和小数的情况,是否是数组我们用isnumber这个函数来判断。因为小数点不可能单独出现,所以我们认为小数点也是数字的一部分。 我们先用一个字符串存储这个表达式,如果当前的字符是数字的一部分,直接输出。 如果当前字符是正负号,那么进行如下判断。如果当前字符是第一个字符,那么肯定是数字的正负号;否则如果当前字符的前一个字符既不是 ‘)’ 也不是数字,那么它也是数字的正负号...原创 2020-05-05 22:05:58 · 653 阅读 · 0 评论 -
数据结构与算法题目集7-21 求前缀表达式的值(c语言实现)
原题链接 首先我们将所有数据压到一个栈里,包括运算符号和数字。在这个题里我重新定义了一种变量类型。当no=1时,这个变量存储doule类型的数字,否则存储运算符。 从栈顶开始,如果是数字,压到一个double类型的栈里,如果是运算符,从double栈里取两个数字进行计算。若令a为double栈顶数字,b为栈顶的下一个数字,那么令c=a运算符b,并将c压到double栈。 大致思想如上所示,在代...原创 2020-05-05 20:34:56 · 2944 阅读 · 1 评论 -
PTA天梯赛L2-032 彩虹瓶(c语言实现)
原题链接 这道题说实话就是题目有点绕,但其实的意思就是堆栈的一个变式应用。 最核心的代码我写了注释,感兴趣的朋友可以交流一下。 #include <stdio.h> typedef struct{ int stack[1001]; int top; }stack; void init(stack *s){ s->top=0; } void push(stack *s,in...原创 2020-04-11 23:32:28 · 3042 阅读 · 3 评论
分享