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

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

Войти
Регистрация
Восстановить пароль
 
Zazy
39 / 39 / 11
Регистрация: 14.04.2013
Сообщений: 171
#1

Сортировка vector<vector<int>> - C++

17.11.2014, 20:26. Просмотров 721. Ответов 1
Метки нет (Все метки)

Всем привет, подскажите может есть вариант по-оптимальнее ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector<std::vector<int>> vq;
    std::vector<int> tmp;
    tmp.push_back(2);
    tmp.push_back(1);
    vq.push_back(tmp);
    tmp.clear();
    tmp.push_back(5);
    tmp.push_back(3);
    tmp.push_back(4);
    vq.push_back(tmp);
    tmp.clear();
    for (auto x : vq)
    {
      for (auto y : x)
        tmp.push_back(y);
    }
   std::sort(tmp.begin(), tmp.end());
   for (auto x : vq)
   for (auto y : x)
       std::cout << y << ' ';
   std::cout << std::endl;
   std::cout << std::endl;
 
   int size = 0;
   int i = 0;
   for (auto &x : vq)
   {
       size += x.size();
       x.clear();
       for (; i < size; i++)
       {
           x.push_back(tmp[i]);
       }
 
   }
 
   for (auto x : vq)
   for (auto y : x)
       std::cout << y << ' ';
   std::cout << std::endl;
 
   system("pause");
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 20:26     Сортировка vector<vector<int>>
Посмотрите здесь:

Применить accumulate к vector<pair<int, int>> - C++
Привет. Как можно применить accumulate к vector&lt;pair&lt;int, int&gt;&gt;?

Работа с Vector<int[2]> - C++
Доброго всем времени суток! Есть такой кусок кода: int tmpIntArr; std::vector&lt;int&gt; DataArray; DataArray = new vector&lt;int&gt;;...

Файл в vector<int> - C++
Как более удачно записать файл в вектор. С помощью чего открыт файл не имеет значения. Заранее спасибо.

Окончание ввода в vector<int> по '\n' - C++
Как реализовать ввод данных с клавы в vector&lt;int&gt;, так, чтобы ввод оканчивался по нажатию Enter? Мой вариант int main() { int...

Сериализация и десериализация vector'а int'ов - C++
Имею вектор: std::vector&lt;int&gt; mig Нужно очень быстро сохранить его в файл, а потом восстановить из файла, пользуясь тем фактом, что это...

Запихнуть в vector<int>, char? - C++
Всем доброго времени суток! Вот решил написать программу, которая переводила бы число из десятичной системы счисления в шеснадцатиричную...

set<vector<int> >, вывод елементов - C++
Возможно глупый вопрос, но я как-то завис на этом. Как правильно вывести элементы из set&lt;vector&lt;int&gt; &gt;? Пробовал перегрузить оператор...

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

Что означает конструкция vector<int> v1{ 5 }; ? - C++
Доброй ночи) Что означает данная конструкция? (Гуглю не могу найти инфы) 1) vector&lt;int&gt; v1{ 5 }; 2) vector &lt;vector&lt;int&gt; &gt; v2(n +...

Перегрузка оператора *= для vector<int> - C++
#include &lt;iostream&gt; #include &lt;vector&gt; const long long base = 1000*1000*1000; std::vector&lt;int&gt; &amp;operator *= (std::vector&lt;int&gt; &amp;a,...

vector<int>* v; обращение к конкретному элементу - C++
vector&lt;int&gt; *v; v = new vector&lt;int&gt;(); v-&gt;push_back(6); v-&gt;push_back(6); v-&gt;push_back(6); v-&gt;push_back(6); v-&gt;push_back(6); ...

Массив списков vector<list<int>>. Поиск - C++
Имеется массив списков vector&lt;list&lt;int&gt;&gt; table(h); . Как в нем осуществить поиск?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
1428 / 765 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.11.2014, 21:22     Сортировка vector<vector<int>> #2
Не знаю что имелось ввиду под оптимальным вариантом, но попробуй так что ли:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
template <typename T>
void print(const std::vector<T> &v) {
   for (const auto &i : v)
      std::cout << i << " ";
   std::cout << "\n";
}
 
int main()
{
   std::vector<std::vector<int>> vq{{2,1}, {5,3,4}, {0,6,3,1,8,-4}};
   std::vector<int> tmp;
 
   for (auto &vec : vq)
      tmp.insert(tmp.end(), vec.cbegin(), vec.cend());
 
   print(tmp);
 
   std::sort(vq.begin(), vq.end());
   std::cout << "\n\n";
   for (const auto &vec : vq)
      print(vec);
 
   std::for_each(vq.begin(), vq.end(), [](std::vector<int> &v)
   {
      std::sort(v.begin(), v.end());
   });
   std::cout << "\n\n";
   for (const auto &vec : vq)
      print(vec);
 
   return 0;
}
Yandex
Объявления
17.11.2014, 21:22     Сортировка vector<vector<int>>
Ответ Создать тему
Опции темы

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