導航:首頁 > 源碼編譯 > 前端括弧演算法題

前端括弧演算法題

發布時間: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[]中為輸入的字元串,利用堆棧技術來檢查該字元串中的括弧是否匹配

閱讀全文

與前端括弧演算法題相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:768
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:843
安卓怎麼下載60秒生存 瀏覽:802
外向式文件夾 瀏覽:235
dospdf 瀏覽:430
怎麼修改騰訊雲伺服器ip 瀏覽:387
pdftoeps 瀏覽:492
為什麼鴻蒙那麼像安卓 瀏覽:735
安卓手機怎麼拍自媒體視頻 瀏覽:185
單片機各個中斷的初始化 瀏覽:723
python怎麼集合元素 瀏覽:480
python逐條解讀 瀏覽:832
基於單片機的濕度控制 瀏覽:498
ios如何使用安卓的帳號 瀏覽:882
程序員公園采訪 瀏覽:811
程序員實戰教程要多長時間 瀏覽:974
企業數據加密技巧 瀏覽:134
租雲伺服器開發 瀏覽:813
程序員告白媽媽不同意 瀏覽:335
攻城掠地怎麼查看伺服器 瀏覽:600