Lista dwukierunkowa

0

Hej :)
Jak tworzy się listę dwukierunkową w Pythonie? Każdy element ma zawierać imię i wiek. Kompletnie nie wiem jak się za to zabrać.
Program ma zawierac funkcje: dodaj na początku, w środku i na n-tej pozycji oraz wyświetlić listę, znaleźć najstarszego człowieka.
Proszę, pomóżcie.

0

a KONKRETNIE to czego nie potrafisz? Bo jeśli liczysz na gotowca to podaj jaki masz budżet na to przeznaczony. W przeciwnym wypadku najpierw sam coś zrób a tutaj pytaj o KONKRETY

0

Mam coś takiego:

class Node:
 
    def __init__(self, data=None, next=None, prev=None):
        self.data = data
        self.next = next
        self.prev = prev

    def __str__(self):
        return str(self.data)

class TwindirectionalList:
 
 
    def insert_head(pair, data):
        if pair[0]:
            node = Node(data, next=pair[0])
            pair[0].prev = node
            pair[0] = node
        else:   # lista była pusta
            pair[0] = pair[1] = Node(data)
        
    def insert_tail(pair, data):
        if pair[1]:
            node = Node(data, prev=pair[1])
            pair[1].next = node
            pair[1] = node
        else:   # lista była pusta
            pair[0] = pair[1] = Node(data)
    def print_dlist(pair):
        node = pair[0]   # head
        print ("Double list elements:")
        while node:
            print (node)
            node = node.next

Ale wydaje mi się to bez sensu. Nie liczę na gotowca, tylko na jakieś podpowiedzi. Bo prawdę mówiąc, nie wiem jak zacząć.

0

Tak Nie Dasz rady, IMO, opakuj node jeszcze jedna klasa, Zobacz zreszta na moim githubie: https://github.com/lion137/Python-Data-Structures?files=1

1

from collections import deque

I masz do użycia wydajną wersję listy dwukiwrunkowej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1