Търсене на елемент по ключ и добавяне на нов елемент в свързан списък.

16.Търсене на елемент по ключ и добавяне на нов елемент в свързан списък.

1) Търсене на елемент по ключ + актуализация;
2) Добавяне на елемент след k-тия елемент.

void search( Student* first, unsigned key, float value )
{
    Student *ptr = first;
    while( ptr != NULL ) // while( ptr )
    {
        if ( ptr->nomer == key )
            break;
        else
            ptr = ptr->next;
    }

    if ( ptr != NULL )
        ptr->sr_uspeh = value; 
    else
        cout << "\n Няма елемент с указания ключ \n "
}

void add( Student *first, int k )
{
    int i = 1;
    Student *ptr = first, *ptr1;

    while( ( i < k ) && ( ptr != NULL ) )
    {
        ptr = ptr->next;
        ++i;
    }

    if ( ptr == NULL )
    {
        cout << " \n  Няма " << k << " елемента в списъка  \n ";
        return;
    }

    if ( ( ptr1 = new Student ) == NULL )
    {
        cout << " Няма свободна памет " << endl;
        exit(1);
    }
    ptr1->next = ptr->next;
    ptr->next = ptr1;
    cout << " \n Number: ";
    cin >> ptr1->nomer;
    cout << " Average: ";
    cin >> ptr1->sr_uspeh;
}

Не мога обаче да кажа дали това е края..
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License