萌新提问,单链表递归排序

例如:Node(element,next)
给的是Node(3,Node(1,Node(2)))
然后做出来的排序是Node(1,Node(2,Node(3)))
要求只能使用一个方法

想了好久也想不出代码...望CSDN各位大佬解答

1个回答

# encoding: utf-8


class Node:
    def __init__(self, e, n):
        self.element = e
        self.next = n

    def printlist(self):
        print(self.element)
        if self.next != None:
            self.next.printlist()

    def order(self):
        m = self
        curr = self.next
        while curr != None:
            if curr.element < m.element:
                m = curr
            curr = curr.next        
        if m != self:
            t = self.element
            self.element = m.element
            m.element = t
        if (self.next != None):
            self.next.order()


list = Node(3, Node(1, Node(2, None)))
list.order();
list.printlist()

1
2
3

如果问题得到解决,请麻烦采纳下。并且请采纳

https://ask.csdn.net/questions/713379

https://ask.csdn.net/questions/750416

谢谢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
在单链表中统计某区域内的元素,将获得元素插入新单链表,并打印新链表元素在原链表中的序号
1
【新手提问】单链表输出首行字符串末尾出现乱码?
3
带头结点的循环/非循环单链表删除开始结点的时间复杂度
1
有一个单链表L,假设结点值为整,怎么设计一个尽可能高效的算法将所有值小于0的结点移到所有值大于0的结点前面?
1
c语言单链表每次进行查找操作和排序操作的时候程序就闪退
2
一、 创建一个字符单链表,实现对字符的插入、删除、查找、元素个数的统计等基本操作,要求为用户提供选择式菜单?
0
单链表中的插入和删除
1
请求大佬支援!!!单链表合并错误
1
小白提问-关于单链表的插入-C语言
1
【求助】单链表建立与输出错误?
1
C语言 一元多项式的加法运算(单链表)
1
【c语言/链表】两个有序单链表合成为一个有序单链表,自己写的代码运行出错,求助
2
如图,为什么单链表初始化需要二级指针,而单链表的插入操作不用二级指针?
1
数据结构单链表合并问题
1
请用C++语言帮忙完善以下程序(单链表的实现)
1
用C语言解决一元多项式求导的问题,要求用单链表解决,为什么我这个的输出这么奇怪?
2
在长度为n的( )上,删除第一个结点,其算法的时间复杂度为O(n)。麻烦给出答案并解析。
1
数据结构单链表print打印没有数据输出,为什么?
1
数据结构单链表建表问题
0
小白刚开始学数据结构,求助大神,┭┮﹏┭┮!两个单链表的并集交集怎么求啊?//(大哭)用的是struct定义LinkNode类,我已经实现部分功能了,好像还有部分代码没显示出来,大神救救孩子吧