How to use transform algorithm to change the value of elements in a list with C++

1 Answer

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

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

int calc(int i) {
	return (i + 1) * (i + 1);
}

int main()
{
	list<int> lst;

	for (int i = 0; i < 5; i++)
		lst.push_back(i);

	list<int>::iterator p = lst.begin();

	for (auto e : lst)
		cout << e << "  ";
	cout << endl;

	p = transform(lst.begin(), lst.end(), lst.begin(), calc);

	for (auto e : lst)
		cout << e << "  ";
	cout << endl;

	return 0;
}


/*
run:

0  1  2  3  4
1  4  9  16  25

*/

 



answered Apr 21, 2018 by avibootz
edited Apr 21, 2018 by avibootz
...