查詢對應的括號

2021-06-28 04:03:05 字數 1402 閱讀 7502

c/c++練習題:查詢對應的括號。如:((()(()))()), 在位置3出的左括號其右括號所在的位置為4

// 查詢對應的括號。如:

// ((()(()))())

// 在位置3出的左括號其右括號所在的位置為4

#include #include #include #include using std::cin;

using std::cout;

using std::endl;

enum status

;std::string printstatus( status s )

}typedef std::string::const_iterator parenthesesciter;

status isparentheses( const std::string & inputsrc )

}return s_ok;

}status findparentheses(const std::string & inputstr, const char & inputsrc, std::size_t inputindex, int & outputindex )

if ( inputsrc != '(' && inputsrc != ')')

if (inputindex < 0 || inputindex > inputstr.size() )

if (inputstr[inputindex] != inputsrc )

size_t nleft, nright;

nleft = nright = 0;

for ( parenthesesciter it(inputstr.begin());

it != inputstr.end(); ++it )

else

}if ( nleft != nright )

#pragma endregion check input source

std::stackchstk;

if (inputsrc == '(')

chstk.pop();

}else}}

else

chstk.pop();

}else}}

return s_ok;

}int _tmain(int argc, _tchar* argv)

else

getch();

#if _msc_ver

system("cls");

#endif

cin.clear();

cin.sync();

}#if _msc_ver

system("pause");

#endif

return 0;

}



左右括號對應

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。建立乙個新棧,遍歷字串的字元,進行比較 核心 遇到 壓入 遇到 則彈出棧頂資料 進行比較 相同為對稱,不同為不對稱public static bool...

寫個括號錯誤查詢的問題

用棧來實現 遇到左括號壓棧 遇到右括號彈棧.並匹配,若不匹配出錯 處理完後,若棧不位空,表示出錯 注意問題 1。出棧時沒有考慮堆疊下溢的情形 類似 的輸入必然導致程式崩潰!include include include include include using namespace std 在vc中...

對應昨天的游標改成子表查詢

set ansi nulls on set quoted identifier on goalter procedure dbo tradezone review plan asbegin declare temprowid nvarchar 32 declare reviewtime nvarch...