用链式栈实现十进制转八进制
时间: 2023-11-20 08:54:08 浏览: 106
使用链式栈实现十进制转八进制的步骤如下:
1. 将十进制数入栈。
2. 当栈不为空时,弹出栈顶元素,将其除以8得到商和余数。
3. 将余数入栈。
4. 将商作为下一次的被除数,重复步骤2和3,直到商为0。
5. 将所有余数依次出栈,即可得到八进制数。
代码如下(Python实现):
```python
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def size(self):
return len(self.items)
def decimal_to_octal(decimal):
stack = Stack()
while decimal > 0:
remainder = decimal % 8
stack.push(remainder)
decimal //= 8
octal = ''
while not stack.is_empty():
octal += str(stack.pop())
return octal
```
阅读全文