| Dodanie elementu do listy |
void ListAdd(list *l ,entrytype item) { //Rezerwuje pamięć dla elementu node *nodetmp = (node *) malloc(sizeof(node)+1); //Rezerwuje pamięć dla danych nodetmp->entry.Data1 = (char *) malloc(strlen(item.Data1)+1); nodetmp->entry.Data2 = (char *) malloc(strlen(item.Data2)+1); //Dane wypełnia odpowiednimi wartościami podanymi w argumencie strcpy(nodetmp->entry.Data,item.Data); strcpy(nodetmp->entry.Name,item.Name); //Określa, że po tym elemencie następuje koniec listy nodetmp->next=0; //Jeśli to będzie pierwszy element listy wypełnia odpowiednie zmienne, określając, że pierwszym i ostatnim elementem listy jest element aktualny if(l->head==0) {l->head=l->back=nodetmp;} //W przeciwnym razie wstawia element na koniec listy else { l->back->next=nodetmp;nodetmp->next=0;l->back=nodetmp;} }
powrót do listy
Powrót
|