Ich kann wirklich nicht verstehen, was mit meinem Code falsch ist.Wie man Element zur Warteschlange hinzufügt
Alles ist in Ordnung, wenn ich das erste Element hinzufüge, aber danach funktioniert es nicht. Wenn ptr NULL ist, tritt es in die While-Schleife ein. Gibt es ein Problem beim Überprüfen, ob null ist?
struct Car
{
int startTime;
char *model;
char *code;
char *location;
struct Car *next;
int deptEnterTime;
bool waitingForFraming;
bool waitingForPainting;
bool waitingForPolishing;
bool waitingForEngine;
bool waitingForElectronic;
bool waitingForIndoor;
bool waitingForTest;
};
struct Car *head = NULL;
void insert(int startTime, char *model, char *code)
{
/*create a link*/
struct Car *link = (struct Car*) malloc(sizeof(struct Car));
link->startTime= startTime;
link->model = model;
link->code = code;
link->waitingForFraming=true;
link->waitingForPainting=false;
link->waitingForPolishing=false;
link->waitingForEngine=false;
link->waitingForElectronic=false;
link->waitingForIndoor=false;
link->waitingForTest=false;
if(head == NULL)
{
head = link;
}
else
{
struct Car *ptr;
ptr = head->next;
while(ptr != NULL)
{
ptr = ptr->next;
}
ptr = link;
}
}
funktioniert dank dir – hkn
@hkn ich bin froh. :) –