数据结构:栈和队列的应用 根据数据结构的书整合以下代码可运行若有错误请大家谅解也欢迎大家指出谢谢大家。以分别是栈和队列的应用1数制转换2括号匹配3汉诺塔问题一数制转换#includeiostream#includestackusing namespace std;void BaseConvert(int num, int R){stackint st;char ch[] {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};if(num 0){cout 0;return;}while(num ! 0){st.push(num % R);num num / R;}cout 转换结果;while(!st.empty()){cout ch[st.top()];st.pop();}cout endl;}int main(){int N,r;cout输入一个十进制的整数;cinN;cout输入目标进制;cinr;if(r2||r16){cout输入错误;return 1; }BaseConvert(N,r);return 0;}二括号匹配r#includeiostream#includestack#includestringusing namespace std;bool BracketMatch(string s){stackchar st;for(int i0;is.length();i){char cs[i];if(c ( || c [ || c {)st.push(c);else{if(st.empty()) return false;// 匹配检验if(c ) st.top()!() return false;if(c ] st.top()![) return false;if(c } st.top()!{) return false;st.pop();}}return st.empty();}int main(){string s;cout输入字符串;cins;bool result BracketMatch(s);cout(result?括号匹配成功:匹配失败)endl;return 0;}三汉诺塔问题#includeiostreamusing namespace std;void Hanoi(int n, char A, char B, char C){if(n 1){cout 盘子 1 : A → C endl;return;}Hanoi(n-1, A, C, B);cout 盘子 n : A → C endl;Hanoi(n-1, B, A, C);}int main(){int n;cout输入整数:;cinn;char A,B,C;Hanoi(n,A,B,C);return 0;}