Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Mehrfachvorkommen von Elementen vermeiden, bei der Zusammenfügung zweier Listen

  1. #1
    DELAC
    Gast

    Mehrfachvorkommen von Elementen vermeiden, bei der Zusammenfügung zweier Listen

    Hi!

    Ich möchte zwei Listen zusammenfügen, möchte jedoch Mehrfachvorkommen von Elementen vermeiden. Wie könnte man das denn implementieren?

    Hab hier mal den C- Code fürs zusammenfügen. IsEmpty prüft einfach auf Leerheit der jeweiligen Listen.


    listptr Union (listptr L1,listptr L2)

    { if ( IsEmpty (*L2)) return L1;
    if ( Is Empty (*L1)) return L2;
    L1->last->next = L2->first;
    L1->last = L->last;
    return L1;
    }

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Am einfachsten geht das, wenn die beiden Listen nach dem selben Kriterium sortiert sind.
    Dann kannst du parallel beide Listen durch gehen und Element aus der einen Liste in die andere Einfügen, so lange das Sortierkriterium erfüllt ist.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von anda_skoa Beitrag anzeigen
    Am einfachsten geht das, wenn die beiden Listen nach dem selben Kriterium sortiert sind.
    Dann kannst du parallel beide Listen durch gehen und Element aus der einen Liste in die andere Einfügen, so lange das Sortierkriterium erfüllt ist.

    Ciao,
    _
    genau, wenn sie nicht sortiert sind, der naive ansatz:
    liste zwei durchiterieren und jeweils überprüfen ob das element
    in l1 schon vorkommt, wenn nicht an l1 anhängen.
    effektiv ist das, aber nicht effizient.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •