How to generate int sequence into list in C++

2 Answers

0 votes
#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>

using std::list;
using std::cout;
using std::endl;

class IntGen {
private:
	int value;
public:
	IntGen(int firstValue) : value(firstValue) {
	}

	int operator() () {             
		return value++;
	}
};

template <typename T>
inline void print(const T &data)
{
	for (const auto &element : data) {
		cout << element << ' ';
	}
	cout << endl;
}


int main()
{
	list<int> lst;

	generate_n(back_inserter(lst),  12, IntGen(1));

	print(lst);
}

/*
run:

1 2 3 4 5 6 7 8 9 10 11 12

*/

 



answered Jan 24, 2018 by avibootz
0 votes
#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>

using std::list;
using std::cout;
using std::endl;

class IntGen {
private:
	int value;
public:
	IntGen(int firstValue) : value(firstValue) {
	}

	int operator() () {             
		return value++;
	}
};

template <typename T>
inline void print(const T &data)
{
	for (const auto &element : data) {
		cout << element << ' ';
	}
	cout << endl;
}


int main()
{
	list<int> lst;

	generate_n(back_inserter(lst),  12, IntGen(30));

	print(lst);
}

/*
run:

30 31 32 33 34 35 36 37 38 39 40 41

*/

 



answered Jan 25, 2018 by avibootz

Related questions

1 answer 150 views
1 answer 135 views
2 answers 191 views
1 answer 158 views
158 views asked Apr 22, 2018 by avibootz
1 answer 185 views
...