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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 79, средняя оценка - 4.77
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
19.12.2011, 16:09     Разница между list и vector #1
Подскажите пожалуйста в чем различие между листами и векторами? Сколько не пытался не смог найти реальной разницы между ними. В чем разница и что нужно когда использовать

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

C++ STL vector,list
C++ vector, list, deque
C++ vector и list
Разница между list и vector? C++
C++ Контейнеры Vector и List (C++)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.12.2011, 16:12     Разница между list и vector #2
Цитата Сообщение от rus_phantom Посмотреть сообщение
В чем разница и что нужно когда использовать
Вектор - контейнер с произвольным доступом, лист - с последовательным. Если нужно хаотично выбирать элементы из контейнера, или как-то хитро его сортировать, нужен вектор. Если устраивает последовательный доступ к элементам, подойдёт лист. По сути разница между массивом и связанным списком.
I.M.
 Аватар для 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
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.12.2011, 16:16     Разница между list и vector #5
Цитата Сообщение от rus_phantom Посмотреть сообщение
То есть данные в векторе находятся хаотично и операция добавления элемента гораздо менее затратна, чем для листов, в котором элементы находятся последовательно в памяти?
Нет, не правильно. В массиве данные хранятся последовательно. Доступ к произвольному элементу массива происходит быстрее, чем доступ к произвольному элементу списка.
I.M.
 Аватар для 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
Ответ Создать тему
Опции темы

Текущее время: 08:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru