[OOP作业]设计一个栈,并用括号匹配检验

来源:互联网 发布:php sql错误提示 编辑:程序博客网 时间:2024/04/30 01:45
//stack.h#include <vector>using namespace std;class Stack{public:Stack(void);~Stack(void);void push(const char c);void pop();char top() const;bool empty();private:vector<char> h;int count;};


//stack.cpp#include "stack.h"Stack::Stack(void){h.clear();}Stack::~Stack(void){}void Stack::push(const char c){h.push_back(c);}void Stack::pop(){h.pop_back();}char Stack::top() const{return h.back();}bool Stack::empty(){if (h.size()) return false;return true;}

//main.cpp#include <iostream>#include <cstdlib>#include "stack.h"using namespace std;int main(){Stack heap;char c;c=cin.get();while(c!='\n'){if ('('==c || '['==c){heap.push(c);}if (')'==c){if ('('==heap.top()) {heap.pop();}else {cout << "Wrong!" << endl;system("pause");return 0;}}if (']'==c){if ('['==heap.top()) {heap.pop();}else {cout << "Wrong!" << endl;system("pause");return 0;}}c=cin.get();}if (heap.empty()) {cout << "Match." << endl;}else{cout << "Wrong!" << endl;}system("pause");return 0;}


0 0
原创粉丝点击