|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
||||||
Реализация вектора10.01.2016, 11:24. Показов 10495. Ответов 80
Добрый день. Нужно мне реализовать функции самому push_back та pop_back.
Моя реализация push_back. А от как реализовать pop_back я незнаю. Там нужно только удалить останий елемент. Но как это сделать? Подскиже.
0
|
||||||
| 10.01.2016, 11:24 | |
|
Ответы с готовыми решениями:
80
Реализация вектора Реализация вектора
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 14.01.2016, 12:20 | |||||||||||
|
vvb2011, Что есть m_current? Судя по всему указатель - почему сравнивается указатель, а не элементы вектора?
Вместо
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
|
| 14.01.2016, 12:28 [ТС] | |
|
ForEveR, я думал так сделать. проверить одинаковый ли размер потом одинаковые ли у них значения. Например вектор А - 3 4 5 9 7. вектор В - 3 4 5 9 7 . Они одинаковые а от С - 3 9 5 1 7. вектор D - 7 2 5 9 7 уже нет. У них одинаковое количество значений но значение не однаковые.
Добавлено через 1 минуту ForEveR, Что есть m_current? - да указатель с Iterator
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 14.01.2016, 12:38 | |
|
vvb2011, http://en.cppreference.com/w/c... erator_cmp
Смотрите сюда. Векторы эквивалентны тогда и только тогда, когда у них одинаковый размер и ВСЕ элементы одинаковые. Как вы вообще из вектора получаете указатель из итератора? Это некорректно, мы ведь не наследуетесь от итератора, да?
0
|
|
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
||||||
| 14.01.2016, 12:55 [ТС] | ||||||
|
ForEveR, оно то так. но я именно хочу реализовать эту функции сам. Оператор == и оператор != Делать проверку эквивалентные ли значения, размер
Добавлено через 7 минут Croessmah, я у себя багу нашел, 58 сообщение. а если у меня будет вектор пуст? оно по идее не сработает ваше замечание. Я думаю так можна еще написать
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 14.01.2016, 12:58 | |
|
vvb2011, Ну реализовывайте, что мешает? В операторе == проверяем размер и сверяем элементы, пробегая по всем элементам в обоих контейнерах в одном цикле. Оператор != так как я написал выше.
Добавлено через 1 минуту vvb2011, Никто так не бегает по вектору в обратную сторону. Используется reverse_iterator и функции rbegin/rend.
0
|
|
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
||||||
| 14.01.2016, 13:08 [ТС] | ||||||
|
ForEveR, В операторе == проверяем размер и сверяем элементы, -
По поводу !=. Я думаю сделать так как и == только все наоборот.
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 14.01.2016, 13:12 | ||
|
vvb2011, Итератор вы зачем писали?)
Добавлено через 41 секунду
0
|
||
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
||||||
| 14.01.2016, 13:47 [ТС] | ||||||
|
ForEveR, я просто не совсем понимаю правильно ли я все делаю. Правильно ли думаю как реализовать. Есил итератор подключить то я думаю такой код должен быть
:
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 14.01.2016, 13:48 | |
|
vvb2011, С чего бы?
Покажите весь свой код. Оператор == должен просто пробегать в ЦИКЛЕ с помощью итераторов (от begin() до end()) или индексов по всем элементам обоих векторов и сравнивать их. Все.
0
|
|
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
|||||||||||
| 14.01.2016, 14:03 [ТС] | |||||||||||
|
ForEveR, скидіваю весь свой код
Итератор:
0
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 14.01.2016, 14:07 | ||||||
|
vvb2011, Ну и в чем проблема?
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
||||||||||||||||
| 14.01.2016, 17:01 [ТС] | ||||||||||||||||
|
Теперь я хочу поменять все что содержиться в векторах местами.
переделал:
0
|
||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 14.01.2016, 17:08 | |
|
vvb2011, У begin/end должны быть версии с const квалификаторами.
0
|
|
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
||||||||||||||||
| 14.01.2016, 19:32 [ТС] | ||||||||||||||||
|
Теперь я хочу поменять все что содержиться в векторах местами.
Кажется решил:
0
|
||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 15.01.2016, 10:51 | |
|
vvb2011, Стандартную библиотеку вообще принципиально не используете?) std::swap так-то, при реализации вектора не вижу смысла писать еще и свой swap...
0
|
|
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
|
| 15.01.2016, 11:15 [ТС] | |
|
ForEveR, Croessmah, да я же писал, что свой вектор пишу.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 15.01.2016, 11:20 | |
|
Croessmah, Не. Ну одно дело аналог вектора. Другое дело ВСЕ вспомогательные функции, даже такие мелкие как swap.
0
|
|
|
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
|
|||||||||||
| 15.01.2016, 11:31 [ТС] | |||||||||||
|
ForEveR, вы мне говорили что выводить значения с конца лутче лутче проходить
я написал, но я не могу понять , почему правильно не выводит. Мы же идем с конца.
ForEveR, та я ж для себя делаю , чтобы разобраться как оно работает
0
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 15.01.2016, 11:41 | |
|
vvb2011, Что такое itEnd? Зачем к reverse итератору применять --, там должен быть ++.
0
|
|
| 15.01.2016, 11:41 | |
|
Реализация собственного класса вектора Реализация двусвязного списка на базе вектора Реализация функций reserve и clear для вектора Как обозначить значения внутри вектора для другого вектора итератором? Найти сколько элементов первого вектора совпадают с элементами второго вектора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|