Так же, как общий план того, как я думаю, ваша функция addValue () может выглядеть как ...
def addValue(linkedSet, value):
newNode={
'data': value,
'next': None
}
# if linkedSet is None, then you can just return this newNode
# if linkedSet isnt None...
# if linkedSets next is None, then it should just point to this newNode
# (append)
# otherwise, you should set its current next to the next of this newnode,
# and then set its next to this newNode (insert)
Это для общего связанного списка. Похоже, вы предполагаете, что ваша версия является более специализированной, которая поддерживает сортировку значений и всегда ожидает, что будет передан головной узел списка. Ваша будет требовать постоянного зацикливания каждого «следующего» до тех пор, пока не найдет тот, где значение будет больше текущего, а затем вставит себя, перемещаясь вокруг «следующих» ссылок следующих (и, возможно, предыдущих) элементов.