优客文库提供全面的范文格式和文档模板,包括申请书、合同、借据、证明、求职信等,助力您快速撰写专业文档。

构建一个社团链表,能够实现插入,打印,删除功能,插入是在最末尾插入,打印全部数据,删除指定的节点。要求有不少于6个社团,社团至少要有社团名字,人数,类型字段,数据需要用户交互输入,不能提前写死

来自 广东省广州市 的网友 时间: 热度:20°C 加入收藏 我要投稿 点赞(2)
首先,我们需要定义一个社团类,包含社团名字、人数和类型字段。然后,我们需要实现插入、打印和删除功能。

解析:
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()
```

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

微信扫码领取福利

微信扫码分享

直接下载
单次下载
0.5元/次
支付宝支付
2.免费下载(每天5次)
公众号:控分学霸复制
复制微信公众,搜索即可关注!
扫一扫关注公众号
欢迎使用微信支付
扫一扫支付
金额:
常见问题

请登录之后再下载!

下载中心

您的账号注册成功!密码为:123456,当前为默认信息,请及时修改

下载文件立即修改

帮助中心

如何获取自己的订单号?

打开微信,找到微信支付,找到自己的订单,就能看到自己的交易订单号了。

阅读并接受《用户协议》
注:各登录账户无关联!请仅用一种方式登录。


用户注册协议

一、 本网站运用开源的网站程序平台,通过国际互联网络等手段为会员或游客提供程序代码或者文章信息等服务。本网站有权在必要时修改服务条款,服务条款一旦发生变动,将会在重要页面上提示修改内容或通过其他形式告知会员。如果会员不同意所改动的内容,可以主动取消获得的网络服务。如果会员继续享用网络服务,则视为接受服务条款的变动。网站保留随时修改或中断服务而不需知照会员的权利。本站行使修改或中断服务的权利,不需对会员或第三方负责。

关闭