Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
kodzuru
20 / 19 / 22
Регистрация: 22.06.2016
Сообщений: 124
Завершенные тесты: 1
1

Циклический связанный список

20.12.2016, 21:58. Просмотров 438. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Пытаюсь посчитать количество значений в циклическом списке. Но всегда получается на 1 значение меньше. Или я должен в конце делать (cnt+1) - заведомо зная, что элементов на 1 больше?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
node* nodeInit(int N) {
    node* t = new node(0, NULL);
    t->next = t;
    node* x = t;
    for (int i = 1; i < N; i++) {
        x = (x->next = new node(i, t));     
    }
    return x;
}
 
int cnt = 0, N = 10;
node* x = nodeInit(N);
 
do  {
        cout << x << " " << x->item << "  " << x->next << endl;
        cnt++;
        x = x->next;
// Как сделать без этого условия?
        if (cnt == N) {
            break;
        }
    } while (x != x->next);
    
    cout << cnt << endl;
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2016, 21:58
Ответы с готовыми решениями:

Связанный список. Создать, записать в связный список последовательность слов,обозначающих месяцы года,заданных пользователем
Создать связанный список.Кроме информационных полей он должен обязательно содержать указатели на...

Связанный список
Не могу обратиться к методу класса Node хотя они выраженны как public: void addNode(int d); void...

Связанный список.
Компилятор ругается на строку 169 In member function `virtual Node* HeadNode::Insert(Data*)': ...

Связанный список
Всем доброго время суток, написать программу демонстрации связанного списка, где PART - (ДЕТАЛЬ)...

Связанный список
ребят,нужна помощь. короче дело в том,что нужно &quot;то есть тебе нужно поменять местами ссылки друг на...

2
nd2
3100 / 2594 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
21.12.2016, 02:05 2
Цитата Сообщение от kodzuru Посмотреть сообщение
// Как сделать без этого условия?
C++
1
2
 if (cnt == N) 
{ break; }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    int cnt = 0, N = 10;
    node* x = nodeInit(N);
    node* y = x;
    do  
    {
        cout << x << " " << x->item << "  " << x->next << endl;
        cnt++;
        x = x->next;
// Как сделать без этого условия?
        //if (cnt == N) {
            //break;
        //}
    } while (x != y);
    
    cout << cnt << endl;
1
kodzuru
20 / 19 / 22
Регистрация: 22.06.2016
Сообщений: 124
Завершенные тесты: 1
22.12.2016, 21:28  [ТС] 3
реально! во я дурак !
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2016, 21:28

Связанный список
Доброе утро есть ли у кого пример Связанного списка. И чем он вообще отличаетьсяот массива кроме...

И снова связанный список
Есть кусок связанного списка, только начал его делать, в тырнете много примеров как он реализован...

Связанный двусторонний список
Решил написать свой двусторонний список и совершенно внезапно столкнулся с проблеммой отчистки....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.