9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
1

Вектор: merge, vector.swap

09.04.2012, 20:50. Показов 1617. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Идея такая:
есть вектор 2 половину отсортированы
можно сделать inplace_merge, но
комбинация merge + выделение памяти под новый вектор работает быстрее, поэтому делаю так
C++
1
2
3
4
5
{
            vector<int> helper(v1.size());
            merge(v1.begin(),p1_ave,p1_ave,v1.end(),helper.begin());
            v1.swap(helper);                
        }
Вопрос по swap, что он именно делает?
что-то типо
C++
1
2
v1 = &helper;
helper = &v1;
(знаю, что так писать нельзя) только одновременно?
а как тогда будет работать v1 = helper?
присваивание будет по ссылке?

Добавлено через 1 минуту
Как лучше производить это действие, если старый вектор мне не нужен, а новый нужно записать в ту же переменную, где раньше было 2 отсортированные части.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2012, 20:50
Ответы с готовыми решениями:

Указатель на объект вектор в векторе vector < vector<int>* >*
Дело касается вот чего, есть такая вот незатейлевая вещь. #include &lt;vector&gt; #include &lt;iostream&gt; ...

Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>>
Добрый день, подскажите пожалуйста как лучше и проще считывать файл. в файле записаны числа,...

Vector::swap и std::move - что эффективнее?
Пусть имеется пустой вектор A и заполненный некими данными вектор B. Тогда какой из методов более...

Компилятор заменяет самописную merge на std::merge
Доброго времени суток. Возник такой вопрос, пишу свою сортировку слиянием, имеется 2 функции...

0
09.04.2012, 20:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 20:50
Помогаю со студенческими работами здесь

Вектор vector<string> переделать в int
Здравствуйте. Подскажите, а то что то совсем запутался Задача следующая создать вектор string...

Добавление элементов в вектор. Тип vector
Напишите программу, читающую строки из потока cin и сохраняющую их в векторе.

Перегрузка функции(Создать класс Vector – вектор.)
Создать класс Vector – вектор, используя динамическую память. Определить операторы &quot;+&quot; –...

Создать класс Vector (вектор целых чисел)
Создать класс Vector (вектор целых чисел), переопределить для него операции: а) &quot;+=&quot; - сложение...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru