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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Shokoladnaj
2 / 2 / 1
Регистрация: 11.03.2014
Сообщений: 98
#1

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

22.04.2014, 00:44. Просмотров 326. Ответов 0
Метки нет (Все метки)

Задание: Придумайте и реализуйте дважды связанный список, которым можно пользоваться посредством итератора. Итератор иметь действия для движения вперед и назад, действия для в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");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2014, 00:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Контейнеры и итераторы (двунаправленный список) (C++):

Двусвязный список контейнеры и итераторы - C++
#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;list&gt; using namespace std; class List { private: int...

Контейнеры и итераторы - C++
Тема: иерархия объектов и группа. Итераторы. Задание: Имена всех монархов на заданном континенте.

Контейнеры и итераторы - C++
Здравствуйте. Нужна помощь в написании лабораторной работы задание 1. Контейнеры. Создать контейнер, добавить в него следующий обьект:...

STL. Итераторы и последовательные контейнеры - C++
Немогу решить эти задачки: 1 Написать экземпляр класса queue на основе элементов типа string. 2.Написаты программу, которая использует...

Двухсвязанный список и итераторы - C++
Можно ли хранить итераторы на list в следующих ситуациях. 1) Элементы в list Добавлялись до и после сохранения итератора с помощью...

Двунаправленный список - C++
Вот в примере елем в список добавл в конец, а как сдел чтобы они добавл в начало ? void List_2::Insert_end_list_2(int data) { Plist...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2014, 00:44
Привет! Вот еще темы с ответами:

Двунаправленный список - C++
Помогите пожалуйста удалить заданный элемент из двунаправленного списка... Напишите как это делается

Двунаправленный список - C++
Как в этом списке поменять ввод элементов с ручного на рандомный, помогите пожалуйста? #include &lt;iostream.h&gt; struct tochd { ...

Двунаправленный список! - C++
Не Класс! Помогите создать список (Двунаправленный хоронящий int a ) сама проблема в том что я не пойму как организовать ссылку на...

СД Двунаправленный список - C++
Ребят помогите пожалуйста понять что значит сделать двунаправленный список используя обьектно-ориентированное программирование. Хотяб...


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

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

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