风止意难平~ 2023-03-26 14:29 采纳率: 75%
浏览 23
已结题

自己写的单向循环链表,一旦测试数据大了,结果出错如100 3

img

class node():
    def __init__(self,data=None):
        self.data = data
        self.next = None
class LinkListCircle():
    def __init__(self,Node=None):
        self.head = Node
        
    def judge_blank(self):
        if self.head:
            return False
        return True
    
    def right_insert(self,a):
        b=node(a)
        if self.judge_blank():
            self.head = b
            b.next = b
        else:
            p=self.head
            while p.next != self.head:
                p=p.next
            p.next = b
            b.next = self.head
    def Delete(self,a):
        p=self.head
        while p.next.data !=a:
            p=p.next
        p.next=p.next.next
            
    def length(self):
        j=0
        p=self.head
        if p.next == None:
            j=0
        else:
            j=1
        while p.next!=self.head:
            p=p.next
            j=j+1
        return j
#c是那个单链表
    def solve(self,k):
        p=self.head
        for i in range(n-1):
            for j in range(0,k-1):
                p=p.next
            q=p.next
#这个p是找到的要删除元素的p,如果我后续删除了这个元素那么单链表中
#            print(p.data)
            self.Delete(p.data)
            p=q
        print(p.data)
        
    def print_link(self):
        p=self.head
        while p.next!=p:
            print(p.data)
            p=p.next
        print(p.data)
n,k= map(int,input().split())
#n是人数,k是循环的变量
#创建一个单链表,然后把赋值进去
linklist=LinkListCircle()
for i in range(1,n+1):
    linklist.right_insert(i)
linklist.solve(k)




  • 写回答

1条回答 默认 最新

  • 小斌哥ge Python领域优质创作者 2023-03-26 16:50
    关注

    可以参考我写的,对比试试。
    Python实现单向循环链表

    如果可以请采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了