"实现社团链表的增删查功能:用户交互输入数据"
首先,我们需要定义一个社团类,包含社团名字、人数和类型字段。然后,我们需要实现插入、打印和删除功能。
解析:
1. 定义社团类,包含社团名字、人数和类型字段。
2. 实现插入功能:在链表末尾插入一个新的社团对象。
3. 实现打印功能:遍历链表,打印每个社团的信息。
4. 实现删除功能:根据用户输入的社团名字删除对应的社团对象。
5. 用户交互输入数据。
代码如下:
```python
class Club:
def __init__(self, name, num, type):
self.name = name
self.num = num
self.type = type
self.next = None
class ClubChainList:
def __init__(self):
self.head = None
def insert(self, club):
if not self.head:
self.head = club
else:
cur = self.head
while cur.next:
cur = cur.next
cur.next = club
def print_all(self):
cur = self.head
while cur:
print(f"{cur.name} | {cur.num} | {cur.type}")
cur = cur.next
def delete(self, name):
if not self.head:
return
if self.head.name == name:
self.head = self.head.next
return
cur = self.head
while cur.next:
if cur.next.name == name:
cur.next = cur.next.next
return
cur = cur.next
def main():
club_chain_list = ClubChainList()
clubs = [("篮球社", "20", "体育"), ("编程社", "15", "科技"), ("音乐社", "10", "艺术")]
i = 0
while i < len(clubs):
club_info = input(f"请输入第{i + 1}个社团的信息(姓名|人数|类型):")
name, num, type = club_info.split("|")[0], club_info.split("|")[1], club_info.split("|")[2]
club = Club(name, num, type)
club_chain_list.insert(club)
i += 1
print("当前社团链表:")
club_chain_list.print_all()
d = input("是否删除指定社团?(y/n):")
if d == "y":
club_chain_list.delete(input("请输入要删除的社团名称:"))
print("删除后的社团链表:")
club_chain_list.print_all()
i += 1
print(f"第{i}个社团的信息:")
club_chain_list.print_all()
if __name__ == "__main__":
main()
```
运行上述代码,根据提示输入社团信息和是否删除指定社团,即可完成操作。
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。