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

Контейнеры и итераторы (двунаправленный список) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выводит неверный результат ln2=1-1/2+1/3-1/4 http://www.cyberforum.ru/cpp-beginners/thread1153778.html
Здравствуйте, необходимо написать последовательный и параллельный код для подсчета ln2=1-1/2+1/3-1/4... Вот что получилось: #include <iostream> using namespace std; int main() { double ln=0.0; int i=0, k=0;
C++ Программа удаления начальных пробелов Всем здравствуйте! Мучался со строками в СИ++. В задаче нужно было удалить начальные пробелы. Пробовал сам - никак. Можете объяснить данную программу? (что выделено) #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include <string.h> using namespace std; using std::cout; void main() http://www.cyberforum.ru/cpp-beginners/thread1153764.html
C++ Неправильный вывод в строке типа char
char * word = new char ; for (int i = 0; i < 5 - 1; i++) word = 'a'; cout << word << endl; почему кроме 4-х а выводится еще какой-то мусор? помогите разобраться...
C++ Сравнить два контейнера set
Всем добрый вечер . Как сравнить два контейнера set? Допустим: set <int> m1; set <int> m2; for( int i = 0; i < 5; i++) {
C++ Сформулировать массив М3, элементами которого есть те члены М2, которых нет в М1 http://www.cyberforum.ru/cpp-beginners/thread1153739.html
Дано два случайных одномерных масива целых чисел М1 и М2. Сформулировать масив М3, элементами которого есть те члены М2, которых нет в М1.
C++ Симулятор работы железной дороги Всем привет, ребят. Сразу к делу: поставлена задача написать симулятор(работы железной дороги). Сразу решил юзать sfml(с целью отображение движений вагонов etc.). Сразу куча траблов. В общем, потанцевав чутка, вроде как удалось скомпилировать. Но все же без ошибок не обошлось(скрин ниже). Что делать, ребят?? Да и вообще, самый ли лучший выбор юзать sfml? Если есть другие варианты - посоветуйте,... подробнее

Показать сообщение отдельно
Shokoladnaj
2 / 2 / 1
Регистрация: 11.03.2014
Сообщений: 84
22.04.2014, 00:44     Контейнеры и итераторы (двунаправленный список)
Задание: Придумайте и реализуйте дважды связанный список, которым можно пользоваться посредством итератора. Итератор иметь действия для движения вперед и назад, действия для вcтавки и удаления элементов списка, и способ доступа к текущему элементу. должен быть класс-контейнер, класс-итератор, (+ класс алгоритмов)

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
class Iterator;
 
struct Node      
 {
     int x;    
     Node *Next,*Prev; 
 };
 
class Iterator
{
    Node *ptr;
public:
    friend class List;
    Iterator();
    Iterator(Node*p);
    Iterator &operator++()
    {
        ptr=ptr->Next;
        return *this;
    }
    Iterator &operator--()
    {
        ptr=ptr->Prev;
        return *this;
    }
    void _push();
    void _del();
    void _access();
};
 
 
 class List  
 {
      Node *Head,*Tail; 
 public:
     friend class Iterator;
     List():Head(NULL),Tail(NULL){}; 
     ~List(); 
     void Show(); 
     void Add(int x); 
 };
 
 
List::~List() 
 {   
     while (Head) 
     {
         Tail=Head->Next; 
         delete Head; 
         Head=Tail;
     }
 }
 
 void List::Add(int x)
 {
   Node *temp=new Node; 
   temp->Next=NULL; 
   temp->x=x;
 
   if (Head!=NULL)
   {
       temp->Prev=Tail; 
       Tail->Next=temp; 
       Tail=temp; 
   }
   else 
   {
       temp->Prev=NULL; 
       Head=Tail=temp; 
   }
 }
 
 void List::Show()
 {
     Node *temp=Tail;
     
     while (temp!=NULL) 
     {
     cout<<temp->x<<" "; 
     temp=temp->Prev; 
     }
     cout<<"\n";
     temp=Head; 
      while (temp!=NULL) 
     {
     cout<<temp->x<<" "; 
     temp=temp->Next; 
     }
     cout<<"\n";
 }
 
int main ()
{
 system("CLS");
 List lst; 
 list<List>l;
 lst.Add(100); 
 lst.Show(); 
  system("PAUSE");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru