В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||
Списки, стеки, очереди19.10.2010, 12:11. Показов 77531. Ответов 53
Метки нет (Все метки)
В процессе разбора этой темы появились программки на список. Сделанные через класс, не идеал конечно, но вроде бы и не самый плохой вариант. Выложу, вдруг кому пригодится. Конструктивная критика приветствуется.
Двунаправленный список и очередь будет чуть позже. С двунаправленным возникли некоторые трудности. Однонаправленный список
Стек
Добавлено через 48 минут Очередь
13
|
19.10.2010, 12:11 | |
Ответы с готовыми решениями:
53
Списки. Стеки. Очереди Задача на тему Стеки, очереди, деки, списки, кольца Списки, Стеки,Очереди (На сколько кусков распадется оставшаяся часть листа? ) Очереди и стеки |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||||||||||||
27.05.2011, 12:23 [ТС] | 21 | ||||||||||||||||||||
Сообщение было отмечено как решение
Решение
lemegeton, Поддержки STL нету, а так шикарно.
Для списка исправить легко - ввести typedef-ы iterator_category и difference_type. Добавлено через 9 часов 38 минут Чуть более чем полностью нестандартный стек. Слишком уж много заданий с издевательством над стеком стало появляться. "Стэк"
Добавлено через 2 часа 17 минут А так же очередь с итераторами. Да я знаю, что это бред) Но может кому-то пригодится. "Очередь"
6
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
|||||||||||
29.05.2011, 22:55 | 22 | ||||||||||
Опять-таки сильно упрощенный, (например без конст-итераторов), мало чем отличающийся от связного списка
дек на базе связного списка.
Главная фишка подхода в том, что в основном классе нет ни одного метода, длиннее 3-х строк.
2
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
||||||
02.06.2011, 21:16 | 23 | |||||
Функции дека на Си
2
|
22.06.2011, 15:15 | 24 | ||||||||||
Сообщение было отмечено как решение
Решение
Для учебы пришлось написать, выкладываю - может кому-нибудь пригодится.
Stack с вложенным классом iterator
примитивный пример
Добавлено через 11 минут Не по теме: не заметил, что похожее уже есть...
5
|
Заблокирован
|
|
26.08.2011, 18:17 | 25 |
Kastaneda, а зачем собственно стеку итераторы?
0
|
Kastaneda
|
26.08.2011, 18:26
#26
|
0
|
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
|
||||||
28.08.2011, 01:13 | 27 | |||||
Прошу протестировать. Вектор.
Свернуть не получилось.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
||||||
28.08.2011, 01:28 | 28 | |||||
Видимо end() должен ориентироваться всё-таки на size, а не на capacity.
Класс не годится для хранения объектов. Только для скалярных встроенных типов. В общем, ещё много над чем можно поработать
1
|
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
|
|
28.08.2011, 01:50 | 30 |
как так. я структурки запихивал.
А вот про end. да - в векторе он показывает на участок сразу за последним валидным элементом и сам является недействительным. а у меня там будут идти валидные элементы(например после ресайз), недодумал как затереть их нормально если честно. есть идеи? и про больше капасити - спасиб))) Добавлено через 2 минуты все понял. ресайз по любому на доводку Добавлено через 14 минут Jupiter,
0
|
Заблокирован
|
|
28.08.2011, 07:14 | 32 |
структурки с тривиальными КК можно хранить, как они называются plain of data кажись. А чё то сложное нет, ты используешь memcpy везде
0
|
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
|
|
28.08.2011, 11:59 | 33 |
LosAngeles, ок. а что посоветуешь вместо мема? как скопировать сложные объекты? более сложные это насколько, в двух словах чтобы я понял. Я просто сложного то и не успел увидеть ни одного объекта. Учусь тока
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 12:15 | 34 |
AzaKendler, копируйте циклом. Тогда главное, чтобы у класса, объекты которого хранятся в контейнере, был определён оператор присваивания (определён-то он всегда, спасибо компилятору, но в некоторых случаях, как известно, его приходится переопределять).
0
|
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
|
|
28.08.2011, 12:24 | 36 |
silent_1991, да. думал про цикел.
Добавлено через 30 секунд fasked, для копи там наверно итераторы надо будет заводить.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 12:43 | 37 |
fasked, можно и алгоритмами, без разницы))
AzaKendler, в вашем случае указатели будут являться итераторами.
1
|
28.08.2011, 12:44 | 38 | |||||
AzaKendler, никакой разницы:
Код
0,5,10, 1,6,11, 2,7,12, 3,8,13, 4,9,14, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4,4,
1
|
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
|
|
28.08.2011, 12:55 | 39 |
да. копи копирует даже контейнер векторов корректно. спрашивается нафига нужен мемцпай? он очень быстр на простых типах?
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 13:06 | 40 |
AzaKendler, ну, скажем так, были времена, когда алгоритмов и вообще STL не существовало в природе...
0
|
28.08.2011, 13:06 | |
28.08.2011, 13:06 | |
Помогаю со студенческими работами здесь
40
C++ Стеки, Очереди Стеки и очереди Стеки, очереди, массивы Динамические структуры: стеки и очереди Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |