(刚入门),指的是一些小程序,比如括号配对算法,队列算法。
是不是 C++ 对字符串等的处理更底层些所以处理方式更多些?
括号匹配算法: 1.初始化,i=0,建立堆栈,栈为空,输入表达式 2.检查表达式第 i 个字符 3.如果第 i 个字符是左括号,入栈 4.如果第 i 个字符是右括号,检查栈顶元素是否匹配 a.如果匹配,弹出栈顶元素 b.如果不匹配,报错退出
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main(){
stack<int> s;
int cases;
string str;
cin>>cases;
bool error=false;
for(int i=0;i<cases;i++){
while (!s.empty()) s.pop();
error=false;
cin>>str;
for(int j=0;j<str.length()&&!error;j++){
swith (str[j]) {
case '(' : s.push(1); break;
case '[' : s.push(2); break;
case '{' : s.push(3); break;
case ')' : { if (s.top()!=1) error=true;else s.pop();break;}
case ']' : { if (s.top()!=2) error=true;else s.pop();break;}
case '}' : { if (s.top()!=3) error=true;else s.pop();break;}
}
}
if (error||!s.empty()) cout<<"error\n";else cout<<"ok\n";
}
}
像这种针对字符串的处理,Ruby 能够很好的解决吗? (这个的 Ruby 代码?)