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

前端括弧演算法題

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

閱讀全文

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

熱點內容
rsa演算法java實現 瀏覽:34
java中讀取資料庫中數據 瀏覽:239
程序員買基金准則 瀏覽:257
伺服器連接到雲服務 瀏覽:294
程序員大笑的原因 瀏覽:79
騰訊雲伺服器充值費入什麼科目 瀏覽:760
如何解決我的世界國際版伺服器卡頓問題 瀏覽:420
27x25x40簡便計演算法 瀏覽:262
玩客雲伺服器怎麼樣 瀏覽:523
光遇安卓第一季叫什麼 瀏覽:328
怎麼用c語言編譯熊貓頭 瀏覽:383
百度雲解壓教程視頻 瀏覽:365
二本程序員考公務員 瀏覽:180
壓縮機啟動器價格 瀏覽:66
caj如何轉為pdf 瀏覽:378
單片機程序消隱的作用 瀏覽:660
php最出名的論壇 瀏覽:213
花生殼映射linux 瀏覽:758
空調壓縮機曲軸加工 瀏覽:564
流水線plc編程 瀏覽:846