顺序线性表的游戏信息管理的数据结构详细代码
时间: 2024-10-04 19:01:59 浏览: 10
顺序线性表是一种常见的数据结构,它通过数组的形式存储元素,并按特定的顺序访问。对于游戏信息管理,我们可以创建一个简单的顺序表结构,用于存储游戏的关键属性,比如玩家ID、角色名称、等级等。
下面是一个使用Python语言实现的简单顺序线性表示例,这里我们将其命名为`GameInfoList`:
```python
class GameInfoListNode:
def __init__(self, game_id=None, player_id=None, character_name=None, level=None):
self.game_id = game_id
self.player_id = player_id
self.character_name = character_name
self.level = level
self.next = None # 指向下一个节点
class GameInfoList:
def __init__(self):
self.head = None
self.size = 0
def add_game_info(self, game_id, player_id, character_name, level):
new_node = GameInfoListNode(game_id, player_id, character_name, level)
if not self.head:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
self.size += 1
def get_game_info_by_index(self, index):
if index < 0 or index >= self.size:
return None
current = self.head
for _ in range(index):
current = current.next
return {
"game_id": current.game_id,
"player_id": current.player_id,
"character_name": current.character_name,
"level": current.level
}
def remove_game_info_by_index(self, index):
if index < 0 or index >= self.size:
return False
if self.size == 1: # 如果只有一个元素,直接删除头结点
self.head = None
else:
if index == 0:
self.head = self.head.next
else:
current = self.head
for _ in range(index - 1):
current = current.next
current.next = current.next.next
self.size -= 1
return True
# 示例
info_list = GameInfoList()
info_list.add_game_info(1, 'Player1', 'CharacterA', 50)
# ... (添加更多游戏信息)
# 使用示例
print(info_list.get_game_info_by_index(0)) # 获取第一个游戏信息
info_list.remove_game_info_by_index(1) # 删除第二个游戏信息
```