#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct Auto Auto;
struct Auto {
char name[36];
struct Auto *naechstes;
};
Auto* erstellen(char *name)
{
Auto *i = malloc(sizeof(Auto));
strcpy(i -> name, name);
i -> naechstes = NULL;
return i;
}
Auto* sortieren(Auto *liste)
{
Auto *erstes = liste;
Auto *zweites = liste -> naechstes;
Auto *zwischenspeicher = NULL;
if(strcmp(erstes -> name, zweites -> name) > 0)
{
}
return liste;
}
Auto* autos_einlesen(FILE *eingabe){
Auto *start = NULL;
Auto *i = NULL;
Auto *naechstes = NULL;
char name[36];
for(; fgets(name, 36, eingabe) != NULL; i = naechstes)
{
naechstes = erstellen(name);
if(start == NULL) { start = naechstes; }
if(i != NULL)
{
i-> naechstes = naechstes;
}
}
start = sortieren(start);
return start;
}
Wahrscheinlich ist es mit etwas Code verständlicher was mein Problem ist.
Der Code funktioniert soweit und liest aus einer eingabe Datei Strings ein und alloziert zu jedem Auto Speicher im Heap. Allerdings weiß ich beim sortieren nicht wie ich mit den Pointern umzugehen habe. Meine Idee war wie bereits erwähnt einen einfachen Bubblesort zu verwenden.