C Anfänger: Mengen



  • Hallo zusammen,
    für ein Projekt muss ich gerade von Java auf C umsteigen... Ich fühle mich ehrlichgesagt sehr verloren. Welche Datenstrukturen eignen sich denn in C um Mengen zu realisieren um dann z. B. die üblichen Mengenoperationen darauf auszuführen. Also so das was Set in Java ist... Danke schonmal.


  • Mod

    Die Antwort ist: Keine. 🙂

    Die C Standardbibliothek ist sehr, sehr klein. Die einzigen Datenstrukturen, die neben den Basisdatenstrukturen unterstützt werden, sind nullterminierte char-Arrays als Krücke für Zeichenketten und ein paar Makros für komplexe Zahlen.

    Das heißt, jede komplexe Datenstruktur musst du dir selber programmieren oder fertigen Code aus Fremdbibliotheken benutzen. (Ich kann die leider keine konkrete Bibliothek dafür nennen, außer C++ 😃 )



  • Wenn die Anzahl der Elemente begrenzt ist (z.B <= 32 oder <=64) kannst du das mit Binäroperationen (& | ^ ~) auf Bitebene machen.
    Hört sich schlimmer an als es ist. Aber so ist C nun mal. 🙂



  • in so manchem Tutorial wird auch auf die Implementierung von einfachten Sets via Bitfelder eingegangen, Standard C hat da nicht viel mehr zu bieten, denke ich.



  • Du kannst dir zB in der Glib oä gucken dort findest du Implementierung von Datenstrukturen vll ist da was (halbwegs)passendes dabei.


Anmelden zum Antworten