1
ユーザが指定したパラメータに基づいてリンクリストから削除する関数を適切に設定する方法を理解しようとしています。だからglobal
の変数list
にはdog structs
がすべて含まれています。私はリストが複数の構造体がリンクされたリストにある場合、ユーザーが削除したいノードを削除することができます。何らかの理由でノードが1つしかない場合やノードが削除された場合は、それ。この問題の方向性は非常に高く評価されます。ここユーザ入力に基づいてリンクリストからノードを削除する
void remove_one(char* name)
{
struct dog *tempList = list;
struct dog *previous = NULL;
if (tempList == NULL) {
return;
}
while (tempList != NULL) {
if (strcmpi(tempList->name, name) == 0) {
if (previous == NULL) {
tempList = tempList->next;
}
else {
previous->next = tempList->next;
free(tempList);
tempList = previous->next;
}
return;
}
else {
previous = tempList;
tempList = tempList->next;
}
}
return;
}