天勤 数据结构 P80 T10
生活随笔
收集整理的這篇文章主要介紹了
天勤 数据结构 P80 T10
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
試編寫一個(gè)算法,檢查一個(gè)程序中的花括號(hào)、方括號(hào)和圓括號(hào)是否配對(duì),若全部配對(duì),則返回1,否則返回0。對(duì)于程序中出現(xiàn)的一對(duì)單引號(hào)或者雙引號(hào)內(nèi)的字符不進(jìn)行括號(hào)配對(duì)檢查。39為單引號(hào)ASCII值,34為雙引號(hào)的ASCII值。單引號(hào)和雙引號(hào)如果出現(xiàn)則成對(duì)出現(xiàn)。
int bracketsCheck(char f[]){// 對(duì)由字符數(shù)組f所存字符中的文本進(jìn)行括號(hào)匹配檢查 stack S, char ch;char *p = f;while(*p!='\0'){// 順序掃描串中的每一個(gè)字符 if(*p==39) {++p; // 跳過第一個(gè)單引號(hào) while(*p!=39){//39為單引號(hào)的ASCII值 ++p;} ++p; //跳過最后一個(gè)單引號(hào) }else if(*p==34){//雙引號(hào)內(nèi)的字符不參與配對(duì)比較 ++p; //跳過第一個(gè)雙引號(hào)while(*p!=34){// 34為雙引號(hào)的ASCII值 ++p;} ++p; //跳過最后一個(gè)雙引號(hào) }else{switch(*p){case '{':case '}':case '(':push(S,*p);//出現(xiàn)左括號(hào):{ 、[和(進(jìn)棧 break;case '}':getTop(S,ch); if(ch=='{'){pop(S,ch); //棧頂?shù)淖蠡ɡㄌ?hào)出棧 }else{return 0;}break;case ']':getTop(S,ch);if(ch=='['){//棧頂?shù)淖蠓嚼ㄌ?hào)出棧 pop(S,ch);}else{return 0;}break;case ')':getTop(S,ch);if(ch=='('){//棧頂?shù)淖髨A括號(hào)出棧 pop(S,ch);}else{return 0;}} ++p; //下一個(gè)字符 } } if(isEmpty(S)){return 1;}else{return 0;} }總結(jié)
以上是生活随笔為你收集整理的天勤 数据结构 P80 T10的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ☆汇总☆电力电子技术simulink仿真
- 下一篇: VGG16网络参数细节