einfach verkette Liste

  • geschlossen
  • C

  • Lalabinbing
  • 1675 Aufrufe 1 Antwort

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • einfach verkette Liste

    Hallo Leute,

    ich brauch wiedermal eure Hilfe.
    Ich bin in Sachen C nicht so ganz der fiteste...

    Es geht darum, dass ich einige Funktionen selber schreiben muss. Folgende Kriterien sind gegeben.

    - Eingabe der Daten (Name, Nationalität, Zeit) eines Sportlers (mit
    anschließender Ausgabe der aktuellen Reihenfolge)
    - Ausgabe der Reihenfolge, sortiert nach Zeit

    Quellcode

    1. typedef struct _dataset {
    2. struct person {
    3. char *name;
    4. char nation[3];
    5. int time;
    6. } pdata;
    7. struct _dataset *next;
    8. } ELEMENT;


    Quellcode

    1. /// einen Datensatz erzeugen (Daten eingeben):
    2. ELEMENT *input(void); // Rueckg.: Adresse des neuen Elements
    3. /// Ranking nach bester Zeit ausgeben:
    4. int displayTime(ELEMENT *list); // Rueckg.: Anzahl der Elemente


    Ich hab einfach keinen Lösungsweg. Wie ich auch nur anfangen soll. Hab mir schon x Tutorials durchgelesen, aber nicht wirklich was gefunden. Habt ihr vielleicht eine Idee ?
    Lg
  • Also zumindest für die erste Aufgabe solltest du doch selbst einen Ansatz haben, das erfordert wirklich nicht viel Nachdenken:

    1. Du erzeugt einen neuen Datensatz.
    2a. Wenn noch keine Datensätze existieren gibst du einfach den Pointer auf diesen zurück.
    2b. Es existieren schon Datensätze. Dann folgst du solange *next bis dieser auf null zeigt und biegst ihn auf deinen in Schritt 1 erzeugten Datensatz um (und gibst ihn danach zurück).

    Probiere doch erstmal das, soweit du eben kannst, in C zu formulieren und poste das Resultat hier, wenn noch Fragen offen sind.

    Die zweite Aufgabe ist schon etwas aufwendiger. Hier musst dich als erstes Mal dafür entscheiden, nach welchem Verfahren du die Liste sortieren möchtest. Habt ihr diesbezüglich keine Vorgaben bekommen oder andersrum, welche Methoden kennst du denn da überhaupt?