С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Asmondius
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 23
#1

Построить класс для работы с односвязным списком - C++

21.02.2013, 18:51. Просмотров 1198. Ответов 1
Метки нет (Все метки)

При решении задач необходимо, без использования STL, описать класс, который используется для представления элементов
а) массива с фиксированным количеством элементов;
б) динамической структуры данных.
Построить класс для работы с односвязным списком. Элементы списка – целые числа. Создать список List1. Построить список List2, содержащий порядковые номера максимальных элементов списка List1.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2013, 18:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построить класс для работы с односвязным списком (C++):

Построить класс для работы с односвязным списком - C++
Построить класс для работы с односвязным списком. Элемент списка – действительное число. Сформировать список, содержащий неубывающую...

Построить класс для работы с односвязным списком - C++
Доброго времени суток, очень давно не обращался на ваш форум и вот снова прошу помощи. Построить класс для работы с односвязным...

Построить класс для работы с односвязным списком - C++
Построить класс для работы с односвязным списком.Элементы списка действительные числа.Создать два упорядочных по возрастанию списка,слить...

Построить класс для работы с односвязным списком - C++
Построить класс для работы с односвязным списком. Элементы списка – действительные числа. Создать два упорядоченных по возрастанию списка,...

Построить класс для работы с односвязным списком - C++
Построить класс для работы с односвязным списком. Элементы списка – слова. Создать список, содержащий некоторую последовательность слов....

Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в у - C++
Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в...

1
anmartex
...
1708 / 1201 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
22.02.2013, 06:30 #2
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <cstdlib>
#include <ctime>
 
template <class T>
class TListIterator;
 
template <class T>
class TList
{
   public:
      typedef TListIterator<T> Iterator;
 
   protected:
      friend TListIterator<T>;
 
      struct TNode
      {
         T value;
         TNode* next;
      }  *list;
 
   public:
      TList(): list(NULL) { ; }
 
      void Push(T value)
      {
         TNode* node = new TNode;
         node->value = value;
         node->next = list;
 
         list = node;
      }
 
      T Pop()
      {
         TNode* node = list;
         list = list->next;
 
         T value = node->value;
         delete node;
 
         return value;
      }
 
      bool Empty() const
      {
         return (list == NULL);
      }
 
      void Clean()
      {
         while (Empty() == false)
         {
            Pop();
         }
      }
};
 
template<class T>
class TListIterator
{
   protected:
      typename TList<T>::TNode* node;
 
   public:
      TListIterator(const TList<T>& list): node(list.list) { ; }
 
      bool End()
      {
         return (node == NULL);
      }
 
      TListIterator& operator ++ ()
      {
         node = node->next;
 
         return *this;
      }
 
      T operator * ()
      {
         return node->value;
      }
};
 
template <class T>
std::ostream& operator << (std::ostream& os, const TList<T>& list)
{
   for (typename TList<T>::Iterator it = list; !it.End(); ++it)
   {
      os << *it << " ";
   }
 
   return os;
}
 
 
int main()
{
   ::srand(::time(NULL));
 
   TList<int> list1;
 
   for (int i = 0; i < ::rand() % 20 + 10; ++i)
   {
      list1.Push(::rand() % 10);
   }
 
   std::cout << "list1: " << list1 << std::endl;
 
   TList<int> list2;
 
   int max = 0, index = 1;
   for (TList<int>::Iterator it = list1; !it.End(); ++it)
   {
      if (max < *it)
      {
         list2.Clean();
         max = *it;
      }
      if (max == *it)
      {
         list2.Push(index);
      }
      index++;
   }
 
   std::cout << "list2: " << list2 << std::endl;
 
   return 0;
}
Название: list.png
Просмотров: 211

Размер: 2.4 Кб

source: list.7z
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 06:30
Привет! Вот еще темы с ответами:

Построить класс для работы со списком - C++
Построить класс для работы со списком. Элемент списка содержит информацию о заявке на авиабилет: пункт назначения, номер рейса, фамилию и...

Разработать класс с набором функций для управления односвязным списком - C++
Добрый день, форумчане! Обращаюсь к вам с просьбой, с чего начать мне выполнение данного задания, какие элементы использовать. Или хотя...

Построить класс для работы со списком. Элемент списка содержит информацию о заявке на авиабилет - C++
Построить класс для работы со списком. Элемент списка содержит информацию о заявке на авиабилет: пункт назначения, номер рейса, фамилию и...

Задачу с использованием STL. Разработать шаблон класса для работы с односвязным списком - C++
Решить задачу с использованием STL. Разработать шаблон класса для работы с односвязным списком. Тип элементов задается как параметр...


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

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

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