|
Модераторы: Daevaorn |
|
baldina |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
Ну мифа-то нет никакого, речь идет об асимптотическом поведении, а константы могут быть сколь угодно большими.
что касается замеров скорости, я не вижу подтверждения: http://ideone.com/bAzcuQ |
|||
|
||||
azesmcar |
|
|||
uploading... Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
baldina
Хитришь Сравнение не честное, причем ни для вектора ни для листа. Не учитывается время на аллокацию памяти для вектора, так-как делается резерв и не учитывается тот факт, что вставка в определенную позицию вектора (в данном случае в начало) медленная операция. Было бы честно сравнить время вместе с вызовом резерва и с операцией push_back. Вот результаты без вызора vector::reserve вообще и с push_back вместо insert для 100000000 элементов.
Ключевую роль играет кэширование при копировании данных в векторе. Это сообщение отредактировал(а) azesmcar - 13.1.2014, 17:03 |
|||
|
||||
baldina |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
это входило в условия, см. выше
вставка в любую позицию вектора это медленная операция. при случайной позиции среднее число перемещений n/2 так что скорее вставка в конец не честна. и про это не было в условиях. если бы я выбрал середину, результат у вектора был бы лучше, но лишь в 2 раза. т.е. не принципиально так что считаю свой тест адекватным ;-) :off для тех кто не все понял с первого раза. тесты (наукообразно - эмпирический анализ) штука тонкая. что бы их проводить (и что бы интерпретировать готовые результаты) нужно учитывать самые различные факторы (все существенные). что бы потом не стыдиться своих скороспелых заявлений об ошибках в компиляторах, развенчании мифов и т.п. |
|||
|
||||
azesmcar |
|
|||
uploading... Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Ну тогда тем более вектор быстрее
Ну так и я об этом В таком случае число перемещений эквивалентно числу числу вставляемых элементов. Если это то, что просил автор, тогда не совсем понятно с какой пьяни сравнивать контейнеры в контексте задачи, для которой один из них совершенно непригоден (это я про вектор) А вариант со вставкой в конец честен чем, что использует оба контейнера эффективно, а не использует заранее неэффективный метод одного и сравнивает с другим Добавлено через 8 минут и 44 секунды baldina Ага, вижу. Невнимательно прочитал сперва. Ну тогда да, естественно лист будет быстрее. Это сообщение отредактировал(а) azesmcar - 13.1.2014, 18:53 |
|||
|
||||
nonaot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.1.2014 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
Интересно, у кого-то бывает такое: находишь какой-то очень тонкий момент в коде, ставишь у себя в голове пометку, что так больше делать не нужно. Потом со временем забываешь и восстанавливая из памяти куски информации кажется, что именно так и нужно сделать.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
NoviceF |
|
|||
Опытный Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
TarasProger |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Наоборот я ещё себе хоть как то представлюя. Но экземпляр класса в роли члена стурктуры?! Энто ж за задача нужна, чтоб оправдать такое безобразие? Добавлено через 7 минут и 27 секунд
1. А что сложного его сделать? 2. Для этой целим можно сделать функцию find. А если бы программа была по-настоящему ООП-ной, то и перегрузить оператор [], чтоб индексировал по стригам. Релизация - тот же перебор. 3. Зачем сдесть STL? Добавлено через 9 минут и 43 секунды Очистка экрана при выходе из пространства имён std. Вот только как это будет на c/c++? Добавлено через 10 минут и 51 секунду
Добавлено через 14 минут и 1 секунду А, ну конечно, он предназначен для одного варианта. Вот только чем тогда if не устроил, что свич понадобился? |
||||
|
|||||
TarasProger |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
||||
|
||||
TarasProger |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Рекурсия на пустом месте:
Это сообщение отредактировал(а) TarasProger - 15.8.2015, 13:05 |
||||
|
|||||
korol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.3.2016 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
richardy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 24.6.2020 Репутация: нет Всего: нет |
Thanks!!
|
|||
|
||||
Эле7 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 1.7.2020 Репутация: нет Всего: нет |
Здравствуйте. Может кто - нибудь помочь мне с написанным кодом С++ по простой задачке на расчет дисперии и среднего значения. Всю голову сломала что не так с кодом и компилятором....
Добавлено через 30 секунд Код программы и задание могу выслать |
|||
|
||||
Zonanor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 2.1.2021 Репутация: нет Всего: нет |
А там ни малейшего ###она нету же, как я знаю
|
|||
|
||||
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |