Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 79, средняя оценка - 4.77
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
#1

Разница между list и vector - C++

19.12.2011, 16:09. Просмотров 11453. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста в чем различие между листами и векторами? Сколько не пытался не смог найти реальной разницы между ними. В чем разница и что нужно когда использовать

Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 16:09     Разница между list и vector
Посмотрите здесь:

Разница между list и vector? - C++
Разница между list и vector?

vector и list - C++
1) Правильно ли я понимаю, что при расширении вектора все предыдущие указатели портятся? vector<int> a; a.push_back(10); int *ptr...

Шаблоны, vector, list - C++
Создать класс Beta таким образом , чтобы при уничтожении последнего объекта на экран выдавалось сообщение о наибольшее количество объектов...

STL vector,list - C++
У меня 2 вопроса: 1) можете рассказать,как подробно работает reverse_iterator?Создал вектор,хочу его распечатать в обратном порядке...

Контейнеры Vector,List - C++
Как в массиве списков переместить из первой ячейки все элементы которые делятся на 2 в другую ячейку?

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

Контейнеры Vector и List (C++) - C++
Уважаемые форумчане! Помогите, пожалуйста, реализовать вручную классы Vector и List с основными их методами, дабы получить аналогию...

Сортировка vector и list - C++
Здравствуйте. vector<int> функцией STL медленнее сортируется, чем list<int> собственным методом. #include <cstdlib> #include...

Удаление vector, list, string - C++
Привет! Такая задача. В программе я описал класс Class1. Класс содержит поля стандартных типов, а также поле std::string и...

Задача по контейнерам stl vector и list - C++
Дан сортированный по убыванию массив int'ов размером 100 элементов. Значение начального максимального элемента a, минимального b. На вход...

Скорость перебор элементов vector'a и list'a - C++
Видел на форумах пишут что поиск по несортированному вектору быстрее, чем по листу. Логично предположить что все элементы вектора находятся...

Работа с STL. Поменять vector на list - C++
Программа должна быть написана так, чтобы достаточно было заменить в одном месте vector на list и приложение делало все то же самое. Если...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
19.12.2011, 16:12     Разница между list и vector #2
Цитата Сообщение от rus_phantom Посмотреть сообщение
В чем разница и что нужно когда использовать
Вектор - контейнер с произвольным доступом, лист - с последовательным. Если нужно хаотично выбирать элементы из контейнера, или как-то хитро его сортировать, нужен вектор. Если устраивает последовательный доступ к элементам, подойдёт лист. По сути разница между массивом и связанным списком.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.12.2011, 16:13     Разница между list и vector #3
list - это список. Имеет все преимущества и недостатки списков
vector - динамический массив. Имеет все преимущества и недостатки массивов

И списки, и массивы - достаточно простые понятия. Думаю, нет смысла копировать вам на форум выдержки из книг. Вы и сами в состоянии их найти. Как только прочитаете про списки и массивы, ответ на вопрос "что нужно когда использовать" найдется сам собой.
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
19.12.2011, 16:15  [ТС]     Разница между list и vector #4
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
19.12.2011, 16:16     Разница между list и vector #5
Цитата Сообщение от rus_phantom Посмотреть сообщение
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
Нет, не правильно. В массиве данные хранятся последовательно. Доступ к произвольному элементу массива происходит быстрее, чем доступ к произвольному элементу списка.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.12.2011, 16:17     Разница между list и vector #6
Цитата Сообщение от rus_phantom Посмотреть сообщение
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
Эм, наоборот. Расположение данных в памяти у вектора последовательное, а значит вы сможете получить доступ к любому элементу вектора очень быстро (с помощью []). Зато добавление элемента, например, в середину вектора - очень затратно. Ведь нужно сдвинуть остальные данные.
Yandex
Объявления
19.12.2011, 16:17     Разница между list и vector
Ответ Создать тему
Опции темы

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