C++ Codes
Algorithms
Algorithm Analysis in C++
Beginners
Code Snippets
Graphics
Data Structures
File Manipulation
Games
Mathematics
Miscellaneous
Visual C++ Library
C++ > Visual C++ 5.0 Standard C++ Library sample source codes
The generate algorithm traverses the range [first,last), assigning to each element
The generate algorithm traverses the range [first,last), assigning to each element generate Header <algorithm> template<class ForwardIterator, class Generator> inline void generate(ForwardIterator first, ForwardIterator last, Generator gen) The generate algorithm traverses the range [first,last), assigning to each element the value returned by gen. generate modifies the elements in the specified range. Sample // disable warning C4786: symbol greater than 255 character, // okay to ignore #pragma warning(disable: 4786) #include <iostream> #include <vector> #include <algorithm> using namespace std; // return the next Fibonacci number in the // Fibonacci series. int Fibonacci(void) { static int r; static int f1 = 0; static int f2 = 1; r = f1 + f2 ; f1 = f2 ; f2 = r ; return f1 ; } void main() { const int VECTOR_SIZE = 8 ; // Define a template class vector of integers typedef vector<int > IntVector ; //Define an iterator for template class vector of integer typedef IntVector::iterator IntVectorIt ; IntVector Numbers(VECTOR_SIZE) ; //vector containing numbers IntVectorIt start, end, it ; start = Numbers.begin() ; // location of first // element of Numbers end = Numbers.end() ; // one past the location // last element of Numbers // fill the range [first, last +1) with a series of // Fibonnaci numbers using the Fibonacci function generate(start, end, Fibonacci) ; // print content of Numbers cout << "Numbers { " ; for(it = start; it != end; it++) cout << *it << " " ; cout << " }\n" << endl ; } Program Output Numbers { 1 1 2 3 5 8 13 21 }
Privacy Policy
|
Link to Us
|
Links