我正在研究一個項目,該項目要求我接受以反轉波蘭表示法寫入的字符串並使用堆棧對其進行評估。我應該穿過字符串,如果元素是一個數字,我會繼續瀏覽字符串,直到到達空間,然後使用atoi將字符串的那部分轉換爲整數。然後我將該整數推入堆棧。我的代碼適用於此,但是,我不確定如何繼續下一個數字後面的空格。這是for循環我到目前爲止:C++反向波蘭語表示法堆棧
for (unsigned int i = 0; i < a.size(); i++)
{
int b;
char c[a.size()];
while (isdigit(a[i]))
{
cout << a[i] << endl;
c[i] = a[i];
b = atoi(c);
i++;
}
cout << b << endl;
stack.push(b);
}
這總是推的第一個整數壓入堆棧,即使有空間經過。我需要添加什麼以繼續將整數推入堆棧之後?謝謝你的幫助。
你能發表所有的代碼? – erip