2. Составить программу, которая на основе созданного списка сформирует 2 дополнительных списка и заполнит их по следующему алгоритму: в первый дополнительный список поместить все положительные элементы исходного списка, a во второй дополнительный все отрицательные.
Ответы на вопрос
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)