5. 数据结构—栈的实际案例

server/2024/9/24 11:43:06/

1. 10进制转8进制

void conversion(int n){LinkStack S;InitStack(S);while(n){Push(S,n%8);n=n/8;}while(!StackEmpty(S)){int x;Pop(S,x);printf("%d",x);}
}

2.  括号匹配

bool Matching(){LinkStack S;char ch,x;InitStack(S);while(cin>>ch){if(ch=='#')break;switch(ch){case '[':case '{':case '(':Push(S,ch);break;case ')':  //1.队列为空 2.不匹配 3. 匹配if(!StackEmpty(S)&&getTop(S)=='(')Pop(S,x);else return false;break; case ']':if(!StackEmpty(S)&&getTop(S)=='[')Pop(S,x);else return false;break; case '}':  if(!StackEmpty(S)&&getTop(S)=='{')Pop(S,x);else return false;break; }}return StackEmpty(S);
}

3. 表达式求值

表达式求值之前需要在前后均加入#。

表达式求值其实可以看做是两步:中缀表达式转换为后缀表达式(OPTR栈)+后缀表达式求值(OPND栈)

具体实现操作如下:

       具体实现代码后有时间再写。


http://www.ppmy.cn/server/101911.html

相关文章

拼多多客服的得力助手:自动回复软件

随着时代的发展,科技的进步,传统的客服人工打字已经逐渐不能适应当今快节奏的电商服务需求。如今,市面上涌现众多客服机器人辅助软件,他们以高效的特别快速地成为拼多多电商客服人员必备的工具。 作为一名拥有八年经验的老电商客服…

Anything in Any Scene:无缝融入任何场景,实现逼真视频对象插入技术

人工智能咨询培训老师叶梓 转载标明出处 现实世界的视频捕获虽然因其真实性而宝贵,但常常受限于长尾分布的问题,即常见场景过度呈现,而关键的罕见场景却鲜有记录。这导致了所谓的"分布外问题",在模拟复杂环境光线、几何…

python:画由两条抛物线所围成的图形

《高等数学》同济大学版 P338 编写 test_diff_2_area.py 如下 # -*- coding: utf-8 -*- """ 画由两条抛物线: ysqrt(x) , yx^2 所围成的图形的面积 """ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import…

【学习笔记】Day 12

一、进度概述 1、《地震勘探原理》第五章 二、详情 个人感觉第五,六,八章的解释更倾向于地质学那边负责的,但是多了解相关原理,肯定是有利于 DL-FWI 的相关研究的,所以这里只是做一个粗略的归纳,相关内容详…

Linux之/etc/motd文件

/etc/motd文件在Linux系统中扮演着重要的角色,它是“Message of the Day”的缩写,即“每日消息”或“今日布告栏信息”。以下是关于/etc/motd文件的详细解释: 一、文件作用 显示欢迎信息:每次用户登录时,/etc/motd文…

【Delphi】中多显示器操作基本知识点

提要: 目前随着计算机的发展,4K显示器已经逐步在普及,笔记本的显示器分辨率也都已经超过2K,多显示器更是普及速度很快。本文介绍下Delphi中操作多显示器的基本知识点(Windows系统),这些知识点在…

list使用及底层模拟实现

目录 一.list的使用 排序sort 去重unique remove按值删除 remove_if splice merge合并 二.模拟实现 1.成员变量及节点的实现 2.普通迭代器 成员变量 解引用operator* operator-> 前置和前置-- 后置和后置-- 等于与不等于重载 begin()迭代器 end()迭代器 3.co…

spring框架中Spring Validation的注解校验

在进行业务分析时发现当前业务所有的属性都应当有值,因此在设置数据库中的表结构时,也设置了所有属性都是必填。属性又比较多,如果通过一个个的if判断会显得代码比较多,因此考虑到使用注解进行校验属性是否为空。 常见属性上的校验…