Выяснить параметр Вставить функцию для связанного списка?

0

Мой преподаватель дал классу драйвер для завершения программы, и я не уверен, как закодировать функцию вставки из-за этого.

Линия дает мне неприятности:

you.Insert(me,0);

you для конструктора по умолчанию, а me для явного конструктора значений, поэтому предполагается, что эта строка создаст в you узел с содержимым me.

Я потерял понимание того, как написать параметр для доступа ко мне для моей функции вставки

void WRD::Insert( ?, int new_data)

Я включу явный конструктор, который у меня есть, любое понимание, которое это мысленно поможет. (включенный пример того, что insert должна выглядеть или делать на основании примера, который я дал).

WRD::WRD(const string & s)
{
    cout<<"one called\n";
    front = 0;
    for(unsigned i=0; i<s.length(); i++)
    {
        AddChar(s[i]);
    }
}


class node
{
public:
    char symbol;  
    node *   next; 
};

v

oid Insert(node * &ptr, int new_data)
{
    node *new_ptr = new node;

    new_ptr -> data = new_data;
    new_ptr -> next = 0;  //always initialize a pointer

    if (Empty(ptr))
    {
        ptr = new_ptr;
    }
    else if (new_ptr->data <= ptr->data)
    {
        new_ptr->next = ptr;
        ptr = new_ptr;
    }
    else
    {
        node *fwd_ptr=ptr, *pre_ptr=ptr;

        while(fwd_ptr!=0 && (fwd_ptr->data < new_ptr->data))
        {
            pre_ptr = fwd_ptr;
            fwd_ptr = fwd_ptr->next;
        }

        if (fwd_ptr == 0)
        {
            pre_ptr->next = new_ptr;
        }
        else
        {
            new_ptr->next = fwd_ptr;
            pre_ptr->next = new_ptr;
        }
    }
}
Теги:
linked-list

1 ответ

0

Как я думаю (если я понял, что ты прав)

void WRD::Insert(const WRD& w, int new_data)

Это может помочь, чтобы показать больше вашей программы драйвера, в частности, как you и me объявлены.

  • 0
    WRD вы; WRD me ("123aabc102");
  • 0
    @ Джон - "как нас с тобой объявляют" - растерян?
Показать ещё 17 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню