#include <iostream> #include <algorithm> // STL algorithms, find ... #include <vector> using namespace std; int main() { vector<int> vi = { 1, 3, 11, 7, 17 }; auto where = find(vi.begin(), vi.end(),11); // find returns iterator --> pointer-like construct cout << *where << endl; // de-reference };
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { string s = "C++ is the better C"; vector<char> vec1(s.begin(), s.end()); // copy string chars into vector of chars cout << vec1.size() << endl; // Laenge ausgeben sort( vec1.begin(), vec1.end() ); // alphabetisch sortieren von Anfang bis Ende for ( auto vc : vec1 ) { cout << vc ; } cout << endl; // Zeilenende }
#include <numeric> ... vector<int> vi = { 1, 4, 9, 16, 25 }; // vector mit ints int sum = accumulate( vi.begin(), vi.end() , 0); ...
reverse : Reihenfolge umdrehen
#include <numeric> ... string s = "C++ is the better C"; vector<char> vec1(s.begin(), s.end()); reverse( vec1.begin(), vec1.end() ); ...
random_shuffle : in zufällige Reihenfolge bringen
#include <numeric> ... vector<int> vi = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // vector mit ints random_shuffle( vi.begin(), vi.end() ); // in zufaellige Reihenfolge bringen ...
#include <list> #include <vector> #include <algorithm> #include <iterator> ... string s = "C++ is the better C"; vector<char> vec1(s.begin(), s.end()); list<char> list1; // liste mit chars copy( vec1.begin(), vec1.end(), back_inserter(list1) )); ...
back_inserter() ist template–iterator function analog zu push_back()
istream_iterator<double> inp(cin); istream_iterator<double> eof; vector<double> vec2; copy( inp, eof, back_inserter(vec2) );
Liest Daten von Standard-Eingabe und packt sie in Vektor (beliebig viele, bis zum end-of-file)
analog die Ausgabe
#include <vector> #include <iterator> ostream_iterator<double> out(cout, "\n" ); copy( vec2.begin(), vec2.end(), out );