在无序列表类中实现线性表抽象数据类型中的其他方法:append, index, pop(), pop(index), insert,showlist() 主程序定义实例,并对类中所有方法进行简单测试,保证算法正确性。
时间: 2024-09-23 07:05:42 浏览: 34
线性表的抽象数据类型的实现实验报告.pdf
在无序列表类中实现线性表抽象数据类型的其他常见方法包括:
1. **append(element)**: 这个方法用于在列表的末尾添加新的元素。例如:
```python
def append(self, element):
self.data.append(element)
```
2. **index(element)**: 返回指定元素第一次出现的索引,如果元素不存在则返回 -1。示例实现:
```python
def index(self, element):
return self.data.index(element) if element in self.data else -1
```
3. **pop()**: 删除并返回列表末尾的元素,若为空则抛出异常。可以分为不带参数的版本(删除最后一个元素)和带索引的版本(删除特定位置的元素):
```python
def pop(self):
return self.data.pop()
def pop(self, index):
try:
return self.data.pop(index)
except IndexError:
print("Index out of range")
```
4. **insert(index, element)**: 将新元素插入到给定索引处。如果索引超出范围,则插入到最后。例子如下:
```python
def insert(self, index, element):
self.data.insert(index, element)
```
5. **showlist()** 或者 **print_list()**: 显示当前列表的所有元素。示例实现:
```python
def showlist(self):
print(self.data)
```
主程序定义实例并进行测试:
```python
class UnorderedList:
# 上述方法的完整实现
if __name__ == "__main__":
list = UnorderedList()
list.append(1)
list.append("two")
print(f"初始列表:{list.showlist()}")
list.insert(0, "zero")
print(f"插入'zero'后的列表:{list.showlist()}")
print(f"元素 'two' 的索引:{list.index('two')}")
print(f"弹出的第一个元素:{list.pop(0)}")
print(f"弹出的最后一个元素:{list.pop()}")
if list.index("zero") != -1:
print("找到了元素 zero")
else:
print("未找到元素 zero")
```
通过这个简单的测试,我们可以验证这些方法是否按预期工作。
阅读全文