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

前端括号算法题

发布时间: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[]中为输入的字符串,利用堆栈技术来检查该字符串中的括号是否匹配

阅读全文

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

热点内容
plc定位编程 浏览:47
mac命令添加用户 浏览:815
android时间widget 浏览:393
qd128h压缩机参数 浏览:287
用单片机测车距 浏览:394
去哪里找加密的便签 浏览:19
武汉订酒店旅馆哪个app平台好 浏览:114
c语言在线编译器字节流 浏览:317
带队伍pdf 浏览:951
电脑如何形成服务器 浏览:522
javaprint换行 浏览:785
华为手机压缩文件夹怎么操作 浏览:99
c语言垃圾堆这个文件夹可以删吗 浏览:758
websocketssl加密 浏览:924
系统类算法 浏览:657
ai算法血检t细胞衰老 浏览:473
如何查看文件夹是否安装过程 浏览:195
编译原理画出下面的状态转换图 浏览:40
倩女幽魂什么服务器比较火 浏览:466
内江市程序员招聘 浏览:466