当前位置: 首页 > news >正文

2024/11/1 数据结构大题打卡

#difine maxsize 50
typedef struct Linknode{ElemType data[maxsize];    //数据域int top;
}SqStack;
void InitStack(sqstack &s)
{s.top=-1;
}
bool stackempty(sqstack &s)
{if(s.top==-1)return true;elsereturn false;
}
bool push(sqstack &s,elemtype x)
{if(s.top==maxsize-1){return false;}s.data[++s.top]=x;return true;}
bool pop(sqstack &s,elemtype &x)
{if(s.top==-1)return false;x=s.data(s.top--);return true;
}
typedef struct SNode{int data;struct SNode *next;
}Snode,*LiStack;
bool InitStack(LiStack &S)
{S=(Snode *)malloc(sizeof(Snode));S->next=NULL;return true;
}
bool StackEmpty(LiStack S)
{if(S->next=NULL)return true;elsereturn false; 
}
bool Pop(LiStack &S,int &x)
{if (StackEmpty(s))return false;SNode *p=S->next;x=p->data;S->next=p->next;free(p);return true;
}

后缀表达式机算

运算数依次入栈,遇到运算符就出栈,先出栈的是右操作数。

中缀转后缀:
遇到运算数,直接写

遇到操作符,入栈,如果栈里有一个比他高或者等级一样的,把那个弹出去。

遇到左括号直接入栈,直到遇到右括号,把里面的都弹出。

最后结束,把栈里剩余符号弹出。

栈的括号匹配:

从左向右一次扫描,当遇到左括号入栈,遇到右括号,出栈,若匹配,继续。若不匹配,失败。

最后若栈是空的则匹配成功,失败则匹配失败。


http://www.mrgr.cn/news/63621.html

相关文章:

  • go语言结构体与json数据相互转换
  • 在网络营销中你犯过的最大的错误是什么?
  • 音视频入门基础:FLV专题(21)——FFmpeg源码中,获取FLV文件音频信息的实现(上)
  • 123213
  • 万圣节营销攻略:TikTok中腰部达人如何助力品牌实现双赢?
  • Java阶段三02
  • Kafka日志记录
  • 深入解析C/C++中的__attribute__((packed)):内存对齐与紧打包技术
  • opencv学习笔记(6):图像预处理(直方图、图像去噪)
  • js的小知识
  • 《AI从0到0.5》之提示工程
  • python代码实现了一个二维粒子系统的模拟,模拟粒子在离散空间中的随机运动和相互作用
  • Apple iap2协议栈在蓝牙中的移植及MFi认证的实现
  • 分账系统对电商多重要,为何电商平台都选择分账系统?
  • 【数据结构】数组和向量
  • 5G三大应用场景中的URLLC
  • 推荐一款功能强大的媒体播放管理:Zoom Player MAX
  • Python数字类型在“用户信息管理“项目中的应用
  • vue3项目中el-tooltip实现内容溢出时再显示,并设置tip的最大宽度
  • 每个软件开发人员都应该知道的 9 个定律
  • 【Linux内核大揭秘】程序地址空间
  • Cpp二叉搜索树的讲解与实现(21)
  • Node.js:Express 服务 路由
  • 干货速学,带你一文读懂嵌入式领域!
  • leetcode 2710 移除字符串中的尾随零
  • TON 区块链开发的深入概述#TON链开发#DAPP开发#交易平台#NFT#Gamefi链游