栈的初始化、压栈、弹栈等基本操作的实现利用栈的基本操作实现数制转换问题。c++
时间: 2024-05-09 18:15:47 浏览: 87
利用栈实现数制转换
4星 · 用户满意度95%
栈的基本操作包括:初始化、压栈、弹栈、获取栈顶元素等。可以使用 STL 中的 stack 容器来实现这些操作。
以下是一个利用栈实现十进制转二进制的示例代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
void decimalToBinary(int n) {
stack<int> s;
while (n > 0) {
s.push(n % 2);
n /= 2;
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
}
int main() {
int decimalNum = 10;
cout << decimalNum << " in binary is ";
decimalToBinary(decimalNum);
cout << endl;
return 0;
}
```
运行结果:
```
10 in binary is 1010
```
其中,decimalToBinary 函数用于将十进制数转换为二进制数。首先创建一个栈 s,然后依次将 n 对 2 取余数的结果压入栈中,直到 n 变为 0。最后,将栈中的元素依次弹出并输出,就得到了二进制数。
在主函数中,我们将十进制数 10 转换为二进制数,并输出结果。
阅读全文