编写算法实现下列问题的求解1.初始化一个链栈,2.判断是否空栈3.入栈4.去栈顶元素5.出栈6.将10进制数转换为16进制数
时间: 2024-12-19 08:25:56 浏览: 9
实现一个简单的链栈并完成对应操作,我们可以用 Python 的列表(list)作为基础数据结构来模拟链栈,因为列表支持高效的 `append` 和 `pop` 操作:
```python
class SimpleStack:
def __init__(self):
self.stack = []
# 判断栈是否为空
def is_empty(self):
return not bool(self.stack)
# 入栈
def push(self, item):
self.stack.append(item)
# 出栈(获取栈顶元素)
def pop(self):
if self.is_empty():
raise Exception("Stack is empty.")
return self.stack.pop()
# 获取栈顶元素但不删除(查看)
def peek(self):
if self.is_empty():
return None
return self.stack[-1]
# 将10进制数转换为16进制数
def decimal_to_hexadecimal(n):
return hex(n).split('x')[-1] # Python 内置函数,返回字符串形式的十六进制
# 示例:
stack = SimpleStack()
stack.push(10) # 入栈10
print(stack.peek()) # 输出:10 (查看栈顶元素)
print(stack.pop()) # 出栈,返回10
print(stack.is_empty()) # 输出:True (检查栈是否为空)
hex_number = decimal_to_hexadecimal(255) # 转换10进制255
print(hex_number) # 输出:ff
```
阅读全文