Вопросы с тегом «vector»

Вектор - это одномерный массив: он содержит компоненты, доступ к которым можно получить с помощью интегрального индекса. В некоторых языках размер вектора может увеличиваться или уменьшаться по мере необходимости, чтобы приспособить добавление и удаление элементов после того, как вектор был создан. Используйте «векторную графику» для графического отображения.

677
Почему класс Java Vector (и Stack) считается устаревшим или устаревшим?

Почему Java Vector считается устаревшим классом, устаревшим или устаревшим? Разве его использование не допустимо при работе с параллелизмом? И если я не хочу вручную синхронизировать объекты и просто хочу использовать потокобезопасную коллекцию без необходимости делать свежие копии базового массива...

612
Как проще всего инициализировать std :: vector жестко закодированными элементами?

Я могу создать массив и инициализировать его так: int a[] = {10, 20, 30}; Как мне создать std::vectorи инициализировать его так же элегантно? Лучший способ, который я знаю, это: std::vector<int> ints; ints.push_back(10); ints.push_back(20); ints.push_back(30); Есть ли способ...

351
Почему я не могу сделать вектор ссылок?

Когда я делаю это: std::vector<int> hello; Все отлично работает. Однако, когда я делаю это вектор ссылок вместо этого: std::vector<int &> hello; Я получаю ужасные ошибки, такие как ошибка C2528: указатель: указатель на ссылку недопустим Я хочу поместить несколько ссылок на структуры...

310
Сортировка вектора по убыванию

Должен ли я использовать std::sort(numbers.begin(), numbers.end(), std::greater<int>()); или std::sort(numbers.rbegin(), numbers.rend()); // note: reverse iterators отсортировать вектор в порядке убывания? Есть ли какие-либо преимущества или недостатки с одним подходом или...

295
Лучший способ извлечь субвектор из вектора?

Предположим, у меня есть std::vector(назовем это myVec) размер N. Какой самый простой способ построить новый вектор, состоящий из копии элементов от X до Y, где 0 <= X <= Y <= N-1? Например, myVec [100000]через myVec [100999]вектор размера 150000. Если это не может быть эффективно сделано...

290
Как получить доступ к последнему значению в векторе?

Предположим, у меня есть вектор, который вложен в фрейм данных одного или двух уровней. Есть ли быстрый и грязный способ доступа к последнему значению без использования length()функции? Что-то $#особенное вар PERL ? Поэтому я хотел бы что-то вроде: dat$vec1$vec2[$#] вместо того...

283
std :: vector против std :: array в C ++

В чем разница между a std::vectorи a std::arrayв C ++? Когда одно должно быть предпочтительнее другого? Каковы плюсы и минусы каждого? Все, что делает мой учебник, это перечисляет, как они...

274
Какой самый эффективный способ удалить дубликаты и отсортировать вектор?

Мне нужно взять вектор C ++ с потенциально большим количеством элементов, стереть дубликаты и отсортировать их. В настоящее время у меня есть код ниже, но он не работает. vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); Как я могу правильно сделать это?...

240
Как суммировать элементы вектора C ++?

Каковы хорошие способы найти сумму всех элементов в std::vector? Предположим, у меня есть вектор std::vector<int> vectorс несколькими элементами. Теперь я хочу найти сумму всех элементов. Каковы разные способы для того...

239
вектор против списка в STL

Я заметил в Effective STL, что вектор - это тип последовательности, который должен использоваться по умолчанию. Что это значит? Кажется, что игнорировать эффективность vectorможет все что угодно. Может ли кто-нибудь предложить мне сценарий, в котором vectorвариант невозможен, но listдолжен...

235
std :: vector регрессия производительности при включении C ++ 11

Я обнаружил интересную регрессию производительности в небольшом фрагменте C ++ при включении C ++ 11: #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0;...

227
Разбить вектор на куски в R

Я должен разделить вектор на n кусков одинакового размера в R. Я не смог найти ни одной базовой функции для этого. Кроме того, Google не получил меня никуда. Так вот, что я придумал, надеюсь, это поможет кому-то где-то. x <- 1:10 n <- 3 chunk <- function(x,n) split(x,...