aiaiask.com©

开花即结果 提问即答案

"实现社团链表的增删查功能:用户交互输入数据"
原始问题:

"实现社团链表的增删查功能:用户交互输入数据"

首先,我们需要定义一个社团类,包含社团名字、人数和类型字段。然后,我们需要实现插入、打印和删除功能。

解析:

  1. 定义社团类,包含社团名字、人数和类型字段。
  2. 实现插入功能:在链表末尾插入一个新的社团对象。
  3. 实现打印功能:遍历链表,打印每个社团的信息。
  4. 实现删除功能:根据用户输入的社团名字删除对应的社团对象。
  5. 用户交互输入数据。

代码如下:

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()

运行上述代码,根据提示输入社团信息和是否删除指定社团,即可完成操作。

"实现社团链表的增删查功能:用户交互输入数据"
https://www.aiaiask.com/ask/50162.html
AI / 模型iFLYTEK
时间 / DATEOctober 18, 2023, 3:25 AM
语言zh-CN
IP / 区域广东 广州