Почему iostream здесь не работает должным образом? - PullRequest
0 голосов
/ 18 марта 2020

Вот мое основное:

int main()
{
    LinkedList<int> L1; 
    LinkedList<int> L2;
    int val,k;

    cout<<"\nPlease enter int values to add to the list L1 (-1 to stop):\n";
    cin>>val;
    while(val != -1)
    {
        L1.InsertBeg(val);
        cin>>val;
    }
    L1.PrintList();

    cout << "\nPlease enter int values to add to the list L2 (-1 to stop):\n";
    cin >> k;
    while (k != -1)
    {
        L1.InsertBeg(k);
        cin >> k;
    }
    L1.PrintList();

    return 0;
}

и вот вывод:

Пожалуйста, введите значения int, чтобы добавить в список L1 (-1 для остановки): 1 2 3 -1 [3] ---> [2] ---> [1] ---> NULL Пожалуйста, введите значения int, чтобы добавить в список L2 (-1 для остановки): 4 5 6 -1 [6 ] ---> [5] ---> [4] ---> [3] ---> [2] ---> [1] ---> NULL

Но это не ожидаемое, ожидаемое:

Пожалуйста, введите значения int для добавления в список L1 (-1 для остановки): 1 2 3 -1 [3] ---> [ 2] ---> [1] ---> NULL Пожалуйста, введите значения int для добавления в список L2 (-1 для остановки): 4 5 6 -1 [6] ---> [5] ---> [4] ---> NULL

так что здесь не так, почему это происходит?

1 Ответ

1 голос
/ 18 марта 2020

Вы пишете

cout << "\nPlease enter int values to add to the list L2 (-1 to stop):\n";

, но все равно добавляете значения в L1

while (k != -1)
    {
        L1.InsertBeg(k);
        cin >> k;
    }

, вам следует изменить эти строки как L2

...