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

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

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

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

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

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

Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 16:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разница между list и vector (C++):

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

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

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

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

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

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

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

И списки, и массивы - достаточно простые понятия. Думаю, нет смысла копировать вам на форум выдержки из книг. Вы и сами в состоянии их найти. Как только прочитаете про списки и массивы, ответ на вопрос "что нужно когда использовать" найдется сам собой.
1
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
19.12.2011, 16:15  [ТС] #4
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,819
19.12.2011, 16:16 #5
Цитата Сообщение от rus_phantom Посмотреть сообщение
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
Нет, не правильно. В массиве данные хранятся последовательно. Доступ к произвольному элементу массива происходит быстрее, чем доступ к произвольному элементу списка.
0
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.12.2011, 16:17 #6
Цитата Сообщение от rus_phantom Посмотреть сообщение
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
Эм, наоборот. Расположение данных в памяти у вектора последовательное, а значит вы сможете получить доступ к любому элементу вектора очень быстро (с помощью []). Зато добавление элемента, например, в середину вектора - очень затратно. Ведь нужно сдвинуть остальные данные.
0
19.12.2011, 16:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2011, 16:17
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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