Реализация алгоритма удаления, вставки, поиска и обратного узла для односвязного списка в Python
Мне нужно создать функцию для односвязных списков, которая:
● Вставка: этот метод принимает значение в качестве параметра и добавляет узел, содержащий это значение, в конец связанного списка
● Удалить: этот метод удаляет узел из связанного списка. Если в качестве параметра передается индекс, то метод должен удалить узел с этим индексом. Если индекс не передается, то удалите первый элемент в списке
● Find: этот метод принимает значение в качестве параметра и возвращает индекс первого узла, содержащего это значение. Если не найдено узлов, содержащих это значение, верните False
● Реверс: этот метод реверсирует связанный список
Когда я запускаю это, я получаю, что вы можете использовать метод insert для связанного списка.
Также, пожалуйста, не редактируйте код из узла класса и связанного списка классов.
Что я уже пробовал:
``` class Node: def __init__(self, dataval=None): self.dataval = dataval self.nextval = None class LinkedList: def __init__(self): self.headval = None def __str__(self): node = self.headval output = "[ " while(node != None): output = output + str(node.dataval) + ", " node = node.nextval if(len(output) > 2): output = output[:-2] return output + " ]" def insert(self, val): new_node= Node(val) if self.headval is None: self.headval=new_node return n=self.headval while n.ref is not None: n=n.ref n.ref=new_node; def delete(self, index=0): if self.headval is None: print("This list has no element to delete") return if self.headval ==index: self.headval=self.headval.ref return n=self.headval while n.ref is not None: if n.ref.item==x: break n=n.ref if n.ref is None: print("Item not found in list") else: n.ref=n.ref.ref def find(self, val): current=self.headval count=0 while(current): if (count==val): return current count+=1 current=current.next assert(False) return 0 def reverse(self): prev=None n=self.headval while n is not None: next=n.ref n.ref=prev prev=n n=next self.headval=prev ```
Sandeep Mewara
Кажется, вы забыли задать свой вопрос. Где ты застрял?
pythongirl
Нет, я написал это там, наверху.
Gerry Schmitz
Вот как вы заканчиваете "вопрос": с "?".
Как это понять?
pythongirl
О хорошо и я бы объяснил тебе как читать но похоже это безнадежно :)