Ich habe Probleme zu verstehen, wie eine verkettete Liste von Strukturen, die einen Namen und BST enthält, funktioniert. Ein Beispiel für mein mangelndes Verständnis ist, wie ich eine Funktion schreiben möchte, um einen Knoten aus der Liste zu entfernen; Ich kann nicht herausfinden, wie Benutzereingaben an den spezifischen Knoten verbinden i löschen möchten:Zugriff auf Strukturen in einer verknüpften Liste
char courseName[100];
printf("Enter name of course to remove\n");
scanf("%s", &courseName);
Course *deleteCourse = courseName; //definitely wrong, assuming something here to connect the input to the struct node goes here
delete_from_list(&listcourses, Whatgoeshere); //I already have code for delete function
//set bst of course to null
Header-Datei für KURS
typedef struct course{
char *name;
BST students;
} Course;
typedef struct courseNode {
Course data;
struct courseNode *next;
} *CourseList;
Header-Datei für BST
typedef struct bstNode {
long student_id;
struct bstNode *left;
struct bstNode *right;
} *BST;
ich habe Standard-Einfüge- und Löschfunktionen bereits eingerichtet.
Zweitens, wie gehe ich über den Zugriff auf die BST innerhalb der Struktur natürlich? Zum Beispiel, eine Studenten ID in den Kurs "Mathematik" einfügen. Ich bin nur im Umgang mit Ints und Zeichen im Datenbereich von Knoten gewohnt. Bitte versuchen Sie nicht nur Wände von Code auf mich zu werfen, ich würde lieber lernen und nicht noch einmal fragen müssen. Vielen Dank für Ihre Zeit
auch für Ihre Zeile 'Kurs * deleteCourse = Kursname' kann es geschrieben werden als' Kurs deleteCourse = {Kursname, null} 'aber keine Notwendigkeit wie erklärt –
ja Meine Löschfunktion braucht Arbeit: strcmp zu tun, aber es wird nicht dauern strcmp (current-> data, data), da der erste Parameter vom Typ "Course" und nicht char ist. Danke für den Input-Kumpel, gab mir etwas, worüber ich nachdenken konnte, habe heute Nacht einen harten Riss und sehe, wo ich –
oooooh current-> data.name finde, das ist der richtige Weg, es zu tun? –