以顺序表为存储结构实现以下基本操作: (1) 在第1个元素前插入一个新元素。 (2) 查找值为x的某个元素。若成功,给出x在表中的位置;不成功给出提示 信息。 (3)删除第1个元素,若成功,给出提示信息并显示被删元素的值;不成功给出失败的提示信息。写出程序
时间: 2024-09-20 19:03:09 浏览: 54
头歌数据结构顺序表的基本操作1-6关
5星 · 资源好评率100%
为了使用顺序表(数组)实现上述操作,我们可以创建一个简单的单链表,其中包含数据项和它们在列表中的索引。这里是一个简单的伪代码示例:
```python
# 定义节点类,包含数据和索引
class ListNode:
def __init__(self, data, index=0):
self.data = data
self.index = index
# 序列表类,用于插入、查找和删除
class SequentialList:
def __init__(self):
self.head = None
self.length = 0
# 插入操作 (1)
def insert_at_start(self, new_data):
if not self.head:
self.head = ListNode(new_data, 0)
else:
new_node = ListNode(new_data, 0)
new_node.next = self.head
self.head = new_node
self.length += 1
print(f"新元素 {new_data} 已经插入到列表的开头,索引 0.")
# 查找操作 (2)
def find_value(self, x):
for i in range(self.length):
if self.head.data == x:
return f"元素 {x} 的位置是 {i + 1}"
return "未找到该元素"
# 删除操作 (3)
def delete_first(self):
if self.head is None:
print("列表为空,无法删除第一个元素.")
else:
temp = self.head
self.head = self.head.next
if self.head:
print(f"已成功删除第一个元素,其值为 {temp.data}.")
else:
print("第一个元素已被删除,但现在列表为空.")
self.length -= 1
# 示例
slist = SequentialList()
slist.insert_at_start(5)
slist.insert_at_start(3)
print(slist.find_value(3))
slist.delete_first()
```
阅读全文