私のコードで何が間違っているのか分かりません。キューに要素を追加する方法
最初の要素を追加しても、それ以降は機能しません。 ptrがNULLの場合、ループ中に入ります。 ヌルかどうかのチェックに問題はありますか?
struct Car *ptr = head;
while(ptr->next != NULL)
{
ptr = ptr->next;
}
ptr->next = link;
そして私はリンク - >次はそこにランダムなデータを避けるために、NULLに設定することをお勧め:
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;
}
}
ありがとうございました – hkn
@hkn私はうれしいです:) –