Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.01.2015
Сообщений: 16
1

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

04.03.2017, 13:06. Просмотров 630. Ответов 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
25
26
27
28
29
30
31
32
template <typename T> bool List<T>::pushByNum(T obj, int num){
    Node *temp = new Node(), *t = head;
    temp->value = obj;
    if (count < num || num <= 0){
        if (count + 1 == num){ return push(obj);}
        //cout << "Некорректные данные" << endl;
        return 0;
    }
    else
    {
        if (num <= (count - num)){
            for (int i = 1; i < num; i++){
                t = t->next;
                stepsWithInsert++;
            }
        }
        else
        {
            for (int i = count+1; i > num; i--){
                t = t->prev;
                stepsWithInsert++;
            }
        }
        temp->next = t;         // следующий за новым = первый
        temp->prev = t->prev;       // предыдущий для нового = последний
        t->prev->next = temp;       // следующий для последнего = новый
        t->prev = temp;         // предыдущий для первого = новый
        count++;
    }
    t = NULL;
    return 1;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2017, 13:06
Ответы с готовыми решениями:

Переделать двусвязный список в двусвязный кольцевой
Здравствуйте, у меня єсть двусвязный список однако он не кольцевой! как это запрограммировать? и...

Кольцевой двусвязный список
Что здесь нужно поменять, чтобы был кольцевой двусвязный список? #include &lt;iostream&gt; #include...

Двусвязный кольцевой список
подскажите пожалуйста как будит выглядеть Двусвязный кольцевой список? #include &quot;stdafx.h&quot;...

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

1
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
04.03.2017, 13:37 2
Для кода есть специальные теги [ CPP ][/ CPP ]
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2017, 13:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Кольцевой двусвязный список
Приведите пожалуйста пример как его создать, добавить в него элемент и удалить элемент из такого...

Двусвязный кольцевой список
Здравствуйте, подскажите пожалуйста где ошибка, список ложится при выводе, исключение: &quot;temp был...

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

Кольцевой двусвязный список шаблон класса ошибки
Код выдаёт некоторые ошибки (прикрепили, на картинке): Что исправить? #include &quot;StdAfx.h&quot; ...


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

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

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