Я следующий 2 классов узлов и doublylinked спискаотсортированные для двусвязного Списка
class DLLNode(object):
def __Init__ (self, data, prev_node=None, next_node=None):
self.data=data
self.prev_node=prev_node
self.next_node=next_node
def __str__(self):
return str(self.data)
class DoublyLinkedList(object):
def __init__(self, head=None, tail=None):
self.head=head
self.tail=tail
self.size=0
def add_to_head(self, data):
newNode = DLLNode(data)
if self.head==None:
self.head=self.tail=newNode
self.head.prev_node=self.tail.next_node=None
else:
self.head.prev_node=newNode
newNode.next_node=self.head
self.head=newNode
def add_to_tail(self, data):
newNode=DLLNode(data)
if self.head==None:
self.head=self.tail=newNode
self.head.prev_node=self.tail.next_node=None
else:
self.tail.next_node=newNode
newNode.prev_node=self.tail
self.tail=newNode
self.tail.next_node=None
def remove_head(self):
node=self.head
if self.head==self.tail:
self.prev_node=self.next_node=self.head=self.tail=None
return
if self.head!=self.tail:
node=node.next_node
node.prev_node=None
self.head=node
def remove_tail(self):
node=self.tail
if self.head==self.tail:
self.prev_node=self.next_node=self.head=self.tail=None
return
if self.head!=self.tail:
self.tail=node.prev_node
self.tail.next_node=None
def index(self,element):
current = self.head
while current != None:
if current.data == element:
return current.position
else:
current = current.next
return -1
Я хочу создать третий класс под названием SortedList, который является подклассом класса для DoublyLinkedList. Класс должен добавить и удалить, который добавляет и удаляет объект в список, и сохраняет список отсортированным. И «средний» метод для возврата среднего элемента списка. Не уверен, как я должен создать этот класс, немного смущенный.
Посмотрите на алгоритм [inserting sort] (https://en.wikipedia.org/wiki/Insertion_sort). Это по существу то, что вы должны делать. – Raniz
Какой аспект получения подкласса вас смущает? Что это, вы хотите знать? – martineau
Нет, это просто, где я могу поместить алгоритм сортировки, это в инициализаторе? –