亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將節點添加到鏈表?

如何將節點添加到鏈表?

蠱毒傳說 2022-11-24 15:23:52
我正在創建一個接受排序鏈表和值的函數。我通過 new_node = LN(v) 創建一個具有給定值的新節點。我正在嘗試返回一個鏈表,其中新節點位于正確的位置。該示例將有助于澄清。前任)ll = converts_list_to_linked_list([4, 7, 9, 14]) #我有一個鏈表:4->7->9->12->14功能:insert_ordered(ll, 12)返回“4->7->9->12->14->None”的鏈表我完全不知道如何將新節點插入正確的位置。我函數中的最后一個 else 語句不正確。def insert_ordered(ll,x):    new_node = LN(v) #Creates new node    #If given ll is empty, newnode is the linkedlist    if  ll == None:        ll = new_node    #Makes new_node the head of ll if first val is >= new_node value.    elif ll.value >= new_node.value:        temp = ll        ll = new_node        ll.next = temp    #[ERROR] Adds new_node between two nodes of ll in sorted order.     else:        while ll.next != None:            if ll.value < new_node.value:                ll = ll.next                new_node.next = ll.next                ll.next = new_node    return ll迭代求解后,是否可以遞歸求解?
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

嘗試這個:


class LN:

    def __init__(self, value):

        self.value = value

        self.next = None


def insert_ordered(root, data):

    node = LN(data)

    if root == None:

        return node

    else:

        if root.value > data:

            node.next = root

            return node

        else:

            temp, prev = root, None

            while temp.next and temp.value <= data:

                prev = temp

                temp = temp.next


            if temp.next == None and temp.value <= data:

                temp.next = node

            else:

                node.next = prev.next

                prev.next = node


            return root


root = None

root = insert_ordered(root, 4)

root = insert_ordered(root, 7)

root = insert_ordered(root, 9)

root = insert_ordered(root, 14)

root = insert_ordered(root, 12)

#4->7->9->12->14


查看完整回答
反對 回復 2022-11-24
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號