请教一下c++中关于栈,设计一个数制转换的程序

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:29:24
利用栈,实现数制转换的的功能,
要求十进制和二进制相互转换。
如果是实现括号匹配的功能呢

#include<stack>
#include<iostream>
using namespace std;

void print(int N){
int temp=N;
int count=0;
stack<int> bi;
do{
bi.push(temp%2);
temp/=2;
count++;
}while(temp!=0);
while(count--) {cout<<bi.top(); bi.pop();}
cout<<endl;
}

只有10进制转2进制才要Stack.
上面的只是10进制转2进制的Function.
main的话自己写吧...

----------------

括号匹配的话,只要遇到一个左括号就把它放入栈里面,遇到一个右括号就从栈里面取顶进行匹配....

如果匹配成功,就读取下一个括号,直至读完最后一个括号,并且栈也被清空,那么匹配成功...

如果过程中出现匹配错误,如左右括号"[]()"不一致,栈中已无括号可匹配,或者最后栈中还有括号未进行匹配,都属于括号匹配失败......

楼上写的很不错

当然也可以用数组模拟栈