Witam. Mam zamiar zrobić program w którym będę wykorzystywał jednokierunkową listę osób. Mam strukturę opisującą osobę, procedurę dodawania, ale nie wiem jak zrobić procedurę do usuwania pojedynczej osoby. Oto co mam zrobione:
typedef struct person {
struct person *next;
char name[50];
char surname[50];
} person;
void addPerson (person *list, char personName[50], char personSurname[50]) {
person *new, *current;
current=list;
if (current != NULL) {
while (current != NULL) {
current=current->next;
}
new=malloc(sizeof(person));
strcpy(new->name, personName);
strcpy(new->surname, personSurname);
new->next=NULL;
current->next=new;
}
else {
new=malloc(sizeof(person));
strcpy(new->name, personName);
strcpy(new->surname, personSurname);
new->next=NULL;
current=new;
}
}
Może mi ktoś powiedzieć czy to jest dobrze zrobione i pomóc przy napisaniu procedury do usuwania dowolnej osoby? Z góry dzięki za pomoc:)