导航:首页 > 源码编译 > 前端括号算法题

前端括号算法题

发布时间:2023-07-22 11:26:05

㈠ 在Java中,设计一个算法,判断一个算术表达式中的括号是否配对。

算法:
String str="5+(4-3))" 表达式
char kuohao[]; 用作括号堆栈
扫描str中的字符
1如果是(则入栈
2如果是)
a如果战不空出栈
b如果栈空,不匹配。算法结束
最后栈空则匹配

下面是我的实现

public class biaodashi {

public static void main(String args[])
{
int top=0;//堆指针
boolean end=true;//不匹配时只输出一次

char stack[]=new char[100];//存括号

String biaoda="(((1+(2)-6))";//表达式
char biao[]=biaoda.toCharArray();//将字符串转化成字符数组
System.out.println("表达式: "+biaoda);

for(int i=0;i<biao.length&&end;i++)//遍历表达式中所有字符
{
if(biao[i]=='(')//如果是(则入栈
{
stack[top]='(';
top++;
}
else if(biao[i]==')')//如果是)则出战
{
if(!(top==0))
top--;
else
{
System.out.println("括号不匹配");
end=false;
}

}

}//除循环两种可能

if(top==0&&end)
System.out.println("括号匹配");//出循环stack空
else if(top!=0&&end)
System.out.println("括号不匹配");//出循环时stack不空

}

}

㈡ C#括号匹配问题算法

constCharRIGHT='}';
constCharLEFT='{';
staticvoidMain(string[]args)
{
Queue<Char>queue=newQueue<Char>();
StringtargetValue="sd{{}";
BooleanisValid=true;

foreach(CharitemintargetValue)
{
if(item.Equals(LEFT))queue.Enqueue(item);

if(queue.Count>0&&!item.Equals(RIGHT)&&!item.Equals(LEFT)){
isValid=false;
break;
}

if(queue.Count>0&&item.Equals(RIGHT))queue.Dequeue();
}

if(isValid&&queue.Count==0)Console.WriteLine("匹配");
elseConsole.WriteLine("不匹配");

Console.ReadKey();
}

㈢ 如何用两种括号()和[]设计一个算法判断一个算数表达式中的括号是否匹配

include "seqstack1.h"

include "stdio.h"

void BracketMatch(char str);

void BracketMatch(char str) /*str[]中为输入的字符串,利用堆栈技术来检查该字符串中的括号是否匹配

阅读全文

与前端括号算法题相关的资料

热点内容
蒙古包加密防摔 浏览:920
惠氏溯源码查询真伪 浏览:444
程序员衬衫品牌 浏览:848
我的梦想工作是程序员 浏览:181
华尔街股市投资经典pdf 浏览:494
读取单片机程序的软件 浏览:580
连云港dns服务器地址怎么设置 浏览:926
web游戏源码下载 浏览:639
openstack编程 浏览:984
阿里云服务器有空间吗 浏览:230
单片机方式0输入 浏览:214
云服务器华为云 浏览:12
linux如何操作服务器环境搭建 浏览:814
六度人脉pdf 浏览:958
pdf是英文的 浏览:475
java数据爬虫 浏览:357
word做成pdf格式 浏览:678
批处理编程教程 浏览:579
哈希算法源码阿里云 浏览:706
vue编译xcode 浏览:495