Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 2
Регистрация: 11.03.2014
Сообщений: 162

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

22.04.2014, 00:44. Показов 1036. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2014, 00:44
Ответы с готовыми решениями:

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

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2014, 00:44
Помогаю со студенческими работами здесь

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

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

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

Двунаправленный список
Вставка элемента в список. Удалениеэлемента из списка Сортировка списка. Поиск элемента в списке.Объединение двух списков Пересечение двух...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru