Форум программистов, компьютерный форум CyberForum.ru

Итератор двусвязного списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Бинарное дерево, стандартная библиотека шаблонов (STL) http://www.cyberforum.ru/cpp-beginners/thread1009638.html
Моя задача заключается в следующем: Построить шаблон класса "бинарное дерево" со следующими возможностями: 1) возможность добавления и удаления определенного элемента (по значению ключа) 2) поиск (по ключу) Нужно использовать стандартный контейнерный класс. И как раз тут мне нужна помощь ( с контейнерными классами впервые столкнулся) - скажите пожалуйста какие стандартные контейнерные...
C++ Исправление Написал данную программу #include <iostream> using namespace std; int main() { int x,center; cout<<"Enter number x"; cin>>x; http://www.cyberforum.ru/cpp-beginners/thread1009628.html
GLUT для cygwin и netbeans C++
Не могу установить библиотеку glut. Компилятор у меня cygwin, а среда netbeans. По пути "c:\cygwin\usr\include\w32api\GL" лежит glut.h По "C:\cygwin\lib" лежит libglut32win.a Что еще должно лежать и где? Меня еще запутал инет! В чем разница между freeglut и просто glut? Еще, что нужно в linker писать? Куда .lib кидать?
C++ Не открывается файл с текстом
Не открывается файл с текстом Делаю так : -----в Обозреватель решений в - папке Solution Items выбираю --- Добавить --- Создать элемент --- текстовый файл ------ в Обозревателе решений файл появляется ------- Потом в исходном файле
C++ GLUT для cygwin и netbeans http://www.cyberforum.ru/cpp-beginners/thread1009623.html
Не могу установить библиотеку glut. Компилятор у меня cygwin, а среда netbeans. По пути "c:\cygwin\usr\include\w32api\GL" лежит glut.h По "C:\cygwin\lib" лежит libglut32win.a Что еще должно лежать и где? Меня еще запутал инет! В чем разница между freeglut и просто glut? Еще, что нужно в linker писать?
C++ синтаксический анализатор Доброго времени суток. Подскажите как написать синтаксический анализатор кода(паскаль). Как это правильно делать? как это сделано в средах разработки(например, борланде)? Спасибо! подробнее

Показать сообщение отдельно
Guy Kawasaki
 Аватар для Guy Kawasaki
2 / 1 / 0
Регистрация: 07.11.2013
Сообщений: 42
16.11.2013, 21:38  [ТС]     Итератор двусвязного списка
Да. Старый код, уже подзабыл особенности.
У нас есть два публичных метода класса:

C++
1
2
    Iterator begin_iterator();
    Iterator end_iterator();
Теперь у меня их реализация выглядит так:

C++
1
2
3
4
5
6
7
8
9
Iterator List::begin_iterator()
{
    return Iterator(head);
}
 
Iterator List::end_iterator()
{
    return Iterator(tail);
}
Есть еще перегруженные префиксные операторы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Iterator Iterator::operator ++ ()
{
    if(ptr)
    {
        ptr = ptr -> next;
        return *this;
    }
    else return 0;
}
 
Iterator Iterator::operator -- ()
{
    if(ptr)
    {
        ptr = ptr -> previous;
        return *this;
    }
    else return 0;
}
Так почему же эта функция не работает?

C++
1
2
3
4
5
6
7
8
9
10
11
void output_end(List &myList)
{
    cout << "\n\nВывод двусвязного списка с хвоста:\n";
    Iterator iter = myList.end_iterator();
    Iterator beg = myList.begin_iterator();
    for (; !(iter == beg); --iter)
    {
        if(iter)
            cout << *iter << " ";
    }
}
 
Текущее время: 00:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru