Knoten beim einfügen in eine Liste sortieren |
06.02.2017, 21:00 | Auf diesen Beitrag antworten » |
dghst | Knoten beim einfügen in eine Liste sortieren Meine Frage: Guten Abend, ich habe ein Programm zur Verwaltung von einem Periodensystem geschrieben, es funktioniert soweit alles, bis auf, dass ich ich die Elemente gerne nach Ordnungszahl sortiert hätte. Meine idee wäre es über qsort bei addKnoten zu lösen, allerdings habe ich Probleme dabei, kann mir jemand helfen? lG Meine Ideen: #include <stdio.h> #include <string.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> typedef char string[30]; typedef struct Knoten { string name; string Symbol; string Ordnungszahl; struct Knoten *nachf; } Knoten; typedef Knoten * Liste; Knoten * zeigerAufNeuenKnoten( string name, string Symbol, string Ordnungszahl, Knoten *rest ) { Knoten *neu = malloc( sizeof( Knoten ) ); strcpy( neu->name, name ); strcpy( neu->Symbol, Symbol ); strcpy( neu->Ordnungszahl, Ordnungszahl ); neu->nachf = rest; return neu; } Liste addKnoten( Liste liste, string name, string Symbol, string ordnungszahl ) { liste = zeigerAufNeuenKnoten( name, Symbol, ordnungszahl, liste ); return liste; } void printKnoten( Knoten *knoten ) { printf("%s, %s, %s\n", knoten->name, knoten->Symbol, knoten->Ordnungszahl); } void printListe( Liste liste ) { while( liste != NULL ) { printKnoten( liste ); liste = liste->nachf; } } int main( void ) { Liste liste = NULL; liste = addKnoten( liste, "Aluminium", "Al", "13" ); liste = addKnoten( liste, "Calium", "Ca", "20" ); liste = addKnoten( liste, "Chlor", "Cl", "17" ); liste = addKnoten( liste, "Flor", "F", "9" ); liste = addKnoten( liste, "Magnesium", "Mg", "12" ); printListe( liste ); printf("\n"); getch(); return 0; } |
|
|
06.02.2017, 21:25 | Auf diesen Beitrag antworten » |
eulerscheZahl | Die Ordnungszahl als string? Für so etwas wurden ints erfunden. Wenn du sortiert einfügst, bleibt die Liste ja auch immer sortiert. Quicksort macht nur Sinn, wenn alles wild durcheinander ist. Einfügen in eine sortierte Liste hatten wir hier schonmal: einfach verkettete Listen in C -Programmhilfe Wenn du damit nichts anfangen kannst, gerne nochmal nachfragen. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|