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

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

Восстановить пароль Регистрация
 
Zazy
 Аватар для Zazy
37 / 37 / 11
Регистрация: 14.04.2013
Сообщений: 167
17.11.2014, 20:26     Сортировка vector<vector<int>> #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>>
Посмотрите здесь:

vector<Struct2{int,vector<struct1>}> или множественное наследование ... C++
C++ vector < vector < pair<int,int> > > g
C++ Указатель на объект вектор в векторе vector < vector<int>* >*
VisualStudio C++ vector<vector<int> > push_back() C++
C++ set_difference(vector<pair<int,int>>, vector<int>>
Работа со столбцами в vector< vector<int> > C++
Вывести значения std::vector<std::vector<int*> > C++
C++ Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>>

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 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>>
Ответ Создать тему
Опции темы

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