(刚入门),指的是一些小程序,比如括号配对算法,队列算法。
是不是 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 代码?)