Информатика, вопрос задал top1a4 , 2 года назад

2. Составить программу, которая на основе созданного списка сформирует 2 дополнительных списка и заполнит их по следующему алгоритму: в первый дополнительный список поместить все положительные элементы исходного списка, a во второй дополнительный все отрицательные. ​

Ответы на вопрос

Ответил ppgem374
1

class Node:

   def __init__(self, data):

       self.data = data

       self.next = None

class LinkedList:

   def __init__(self):

       self.head = None

   def push(self, new_data):

       new_node = Node(new_data)

       new_node.next = self.head

       self.head = new_node

   def printList(self):

       temp = self.head

       while (temp):

           print(temp.data, end=" ")

           temp = temp.next

   def splitList(self, head):

       negative = LinkedList()

       positive = LinkedList()

       while head is not None:

           if head.data < 0:

               negative.push(head.data)

           else:

               positive.push(head.data)

           head = head.next

       print("Положительные элементы:")

       positive.printList()

       print("Отрицательные элементы:")

       negative.printList()

if __name__ == '__main__':

   llist = LinkedList()

   llist.push(1)

   llist.push(-2)

   llist.push(3)

   llist.push(-4)

   llist.push(5)

   llist.push(-6)

   llist.push(7)

   llist.push(-8)

   llist.push(9)

   llist.push(-10)

   print("Дан список: ")

   llist.printList()

   llist.splitList(llist.head)


top1a4: нужно через классы с созданием односвязанных списков
top1a4: но спс
ppgem374: Изменил ответ
top1a4: спасибо
Новые вопросы