Code:
#include <stdio.h>
#include <stdlib.h>
typedef struct list_izahl_element {
int izahl;
struct list_izahl_element *pnext;
} Liste_izahlen;
void print_list(Liste_izahlen **list){
int counter=1;
Liste_izahlen* runner=*list;
if (!runner)
printf("Leere Liste!\n");
else
while (runner){
printf("%d. %d\n", counter++, runner->izahl);
runner=runner->pnext;}
}
void insert(Liste_izahlen **select, int iZahlinput){
Liste_izahlen *newelement=(Liste_izahlen*) malloc (sizeof(Liste_izahlen));
newelement->izahl=iZahlinput;
newelement->pnext=NULL;
if (*select==NULL)
*select=newelement;
else{
newelement->pnext=(*select)->pnext;
(*select)->pnext=newelement;}
free(newelement);
}
void insert_sort(Liste_izahlen **list, int iZahlinput){
Liste_izahlen *runner=*list;
if (runner!=NULL)
while((iZahlinput>(runner->izahl))&&(runner->pnext!=NULL)&&(iZahlinput>(runner->pnext->izahl)))
runner=runner->pnext;
insert(&runner,iZahlinput);
}
int main(void){
int input=0;
Liste_izahlen *xylist=NULL;
while(1){
printf("Geben Sie eine Ganzzahl ein: ");
if (scanf("%d", &input)){
insert_sort(&xylist,input);
print_list(&xylist);
}
}
}
Ich stehe momentan total aufm Schlauch und komme nicht voran. Ich habe Probleme beim Erstellen und Einfügen einer Liste. Irgendwie passt die Zuordnung innerhalb der Funktion nicht. Ich bin dankbar für jede Hilfe!
Lg