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
Remove algorithm removes all elements that match value from the range (first, last)
Remove algorithm removes all elements that match value from the range (first, last) remove Header <algorithm> template<class ForwardIterator, class Type> inline ForwardIterator remove(ForwardIterator first, ForwardIterator last, const T& value) The remove algorithm removes all elements that match value from the range (first, last). It returns an iterator equal to last - N, where N = number of elements removed. The last N elements of the range have undefined values. The size of the container remains the same. Sample // disable warning C4786: symbol greater than 255 character, // okay to ignore #pragma warning(disable: 4786) #include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; 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, last; start = Numbers.begin() ; // location of first // element of Numbers end = Numbers.end() ; // one past the location // last element of Numbers //Initialize vector Numbers Numbers[0] = 10 ; Numbers[1] = 20 ; Numbers[2] = 10 ; Numbers[3] = 15 ; Numbers[4] = 12 ; Numbers[5] = 7 ; Numbers[6] = 9 ; Numbers[7] = 10 ; cout << "Before calling remove" << endl ; // print content of Numbers cout << "Numbers { " ; for(it = start; it != end; it++) cout << *it << " " ; cout << " }\n" << endl ; // remove all elements from Numbers that match 10 last = remove(start, end, 10) ; cout << "After calling remove" << endl ; // print content of Numbers cout << "Numbers { " ; for(it = start; it != end; it++) cout << *it << " " ; cout << " }\n" << endl ; //print number of elements removed from Numbers cout << "Total number of elements removed from Numbers = " << end - last << endl ; //print only the valid elements of Number cout << "Valid elements of Numbers { " ; for(it = start; it != last; it++) cout << *it << " " ; cout << " }\n" << endl ; } Program Output Before calling remove Numbers { 10 20 10 15 12 7 9 10 } After calling remove Numbers { 20 15 12 7 9 7 9 10 } Total number of elements removed from Numbers = 3 Valid elements of Numbers { 20 15 12 7 9 }
Privacy Policy
|
Link to Us
|
Links