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

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

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

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

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

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

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

C++ STL vector,list
C++ Скорость перебор элементов vector'a и list'a
Работа с STL. Поменять vector на list C++
C++ vector, list, deque
Задача по контейнерам stl vector и list C++
C++ vector и list
Разница между list и vector? C++
C++ Контейнеры Vector и List (C++)
Удаление vector, list, string C++
Сортировка vector и list C++
C++ Контейнеры Vector,List
Шаблоны, vector, list C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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
Ответ Создать тему
Опции темы

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