6. diel - Implementácia spojovaceho zoznamu v C - insert, get, remove

V minulej lekcii, Implementácia spojovaceho zoznamu v C - Štruktúry a alokácie , sme si uviedli spájať zoznam, pripravili si niekoľko dátových štruktúr a funkciu na alokáciu pamäti.

Dnes implementujeme základné 3 funkcie spojovaceho zoznamu pre pridanie, nájdenie a odstránenie položky.

insert_to_list()

Funkcia insert_to_list() pridá novú položku na koniec zoznamu. Má tri parametre:

  • Prvá je ukazovateľ na zoznam, do ktorého budeme pridávať položku s menom
  • Druhý parameter je toto meno položky
  • A tretím je telefónne číslo

Kód funkcie je nasledovné:

struct CONTACT* insert_to_list( struct LIST* list, const char* name, const char* telephone_number)
{
    long length = 0L;
    struct ITEM* new_item = (struct ITEM*)malloc(sizeof(struct ITEM));
    if (new_item == NULL)
        return NULL;
    // vytvorime strukturu CONTACT
    struct CONTACT* new_contact = (struct CONTACT*)malloc(sizeof(struct CONTACT));
    if (new_contact == NULL)
        return NULL;
    // toto bude fungovat, ale v podstatě to neni spravne
    new_contact->name = ( char*)name;
    new_contact->telephone_number = (char *)telephone_number;

    if (list->last == NULL)
    {   // seznam je prazdny
        new_item->next = NULL;      // nema nasledovnika
        new_item->previos = NULL;   // nema predchudce
        list->first = new_item;     // prvni v listu je tento kontakt
        list->last = new_item;      // posledni v listu je tento kontakt
    }
    else
    {   // seznam ma aspon jednoho clena, neni prazdny, pridame na konec
        new_item->next = NULL;              // nova polozka nema nasledovnika
        new_item->previos = list->last;     // nova polozka ma predchudce
        new_item->previos->next = new_item;
        list->last = new_item;              // nova polozka je posledni v seznamu
    }
    new_item->contact = new_contact;
    return new_contact;
}

 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V tutoriálu programovaní v C implementujeme základné 3 funkcie spojovaceho zoznamu pre pridanie, nájdenie a odstránenie položky.
Článok pre vás napísal Daniel Martinko
Avatar
Aktivity