Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Den4ik
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 42
#1

Как вывести вектор списков? - C++

11.09.2011, 21:18. Просмотров 1464. Ответов 4
Метки нет (Все метки)

Нужно вывести вектор в котором хранятся списки, а в списках сами элементы

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <vector>
#include <list>
 
vector<list<Edge *>> Adjlist;
 
void Show()
    {
        for(int i = 0; i < this->cnt_v; i++)
        {
            cout<<Adjlist[i]....
        };
    };
а как элемент списка (библиотека list) вытащить не пойму
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2011, 21:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вывести вектор списков? (C++):

Как вывести на экран весь вектор? Пожалуйста, подскажите - C++
Создал функцию для добавление в вектор (даже не уверен в правильности) void Homeworklist::Add(Homework h) { if (a&gt;=1) cout &lt;&lt;...

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Не могу вывести вектор - C++
Добрый день. Подскажите пожалуйста в чем дело. Есть массив класса. Пихаю его в вектор. Не ругается. Пытаюсь вывести - ошибка &quot;error C2679:...

Вывести вектор через messagebox - C++
как мне вывести вектор через messagebox?(( часа 3 рыл интернет, пытался понять. Или не через messagebox можно как-то.. в MFC работаю Я...

Вывести вектор, начиная с последнего элемента - C++
у меня есть вектор целых чисел как мне вывести вектор начиная с последнего элемента while(x.empty()){ printf(&quot;d%&quot;, x.end()); ...

Функция: заполнить вектор простыми числами и вывести их на экран - C++
Задача: Написать функцию, которая заполняет вектор простыми числами и выводит их на экран. Проблема: Не добавляется &quot;2&quot; в начало...

4
Петррр
5970 / 3407 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
11.09.2011, 21:38 #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
#include <iostream>
#include <vector>
#include <list>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char ** argv)
{
    vector<list<int>> lst;
    for(int i = 0; i < 10; i++)
    {
        list<int> list;
        for(int j = 0; j < 10; j++)
            list.push_back(rand() % 100);
        lst.push_back(list);
    }
    for(int i = 0; i < lst.size(); i++)
    {
        list<int>::iterator it;
        for(it = lst[i].begin(); it != lst[i].end(); ++it)
            cout << *it << " ";
        cout << endl;
    }
    system("pause");
    return 0;
}
1
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
11.09.2011, 22:10 #3
Den4ik,

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
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
#include <functional>
 
template <typename T>
struct PrintVector : std::unary_function <void, T> {
   void operator()(const T& value) const {
      std::cout << value << ' ';
   }
};
 
int main() {
   std::list <int> l_numbers = { 1, 2, 3, 4, 5 };
   std::vector <std::list <int> > v_lists(5, l_numbers);
   
   
   for (std::vector <std::list <int> >::const_iterator p = v_lists.begin();
         p != v_lists.end();
         ++p
   ) {
      std::for_each(p->begin(), p->end(), PrintVector <int>());
      std::cout << '\n';
   }
 
   return 0;
}
1
Ma3a
Эксперт С++
618 / 462 / 31
Регистрация: 28.01.2011
Сообщений: 605
11.09.2011, 22:59 #4
Ещё вариант, с помощью Boost.Phoenix:
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
#include <iostream>
#include <algorithm>
#include <list>
#include <vector>
#include <boost/phoenix/phoenix.hpp>
 
namespace phx = boost::phoenix;
using phx::arg_names::_1;
 
int main()
    {
    std::list<int> list_{1, 2, 3, 4, 5};
    std::vector<std::list<int> > vector_(5, list_);
    
    phx::for_each(vector_,
        phx::lambda
            [
            phx::for_each(_1,
                phx::lambda
                    [
                    std::cout << _1 << ' '
                    ]
                ),
            std::cout << phx::val("\n")
            ]
        )();
    }
2
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
12.09.2011, 01:28 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <algorithm>
#include <iterator>
#include <list>
#include <vector>
 
int main()
{
    std::vector<std::list<int>> v =
    {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
 
    typedef std::ostream_iterator<int> int_out_iter;
 
    std::for_each(v.begin(), v.end(),
                  [](const std::list<int> lst) {
                      std::copy(lst.begin(), lst.end(), int_out_iter(std::cout, " "));
                      std::cout << '\n';
                  });
}
0
12.09.2011, 01:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2011, 01:28
Привет! Вот еще темы с ответами:

Вектор. Вывести в стек индексы двух минимальных значений - C++
Здравствуйте, есть вот такой код #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;stack&gt; #include &lt;ctime&gt; using namespace...

Компилятор не может вывести тип для темплейта, передаваемого в вектор - C++
Не работает такая вот конструкция: template&lt;typename T&gt; T getRandomElement(std::vector&lt;T&gt; v) { return v; } getRandom(int a, int b)...

Вывести вектор тех элементов, которые делятся на N без остатка - C++
подскажите написал вот такой код #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; using...

Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток - C++
Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток. То, что я написал: #include &lt;vector&gt; #include...


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

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

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