Lesson N.6 of July 21, 2014¶
Added templates
Example of use STL vector class
File example10.cc
:open:
1/*
2
3 Some example of use of STL vector.
4
5*/
6
7#include <iostream>
8#include <iomanip>
9#include <vector>
10
11using namespace std ;
12
13typedef long int value_type ;
14
15
16int
17main() {
18
19 vector<value_type> a, b(2) ;
20
21 cout << "Size a = " << a.size() << '\n' ;
22 cout << "Size b = " << b.size() << '\n' ;
23
24 a.reserve(100) ;
25 for ( int i = 0 ; i < 10 ; ++i ) a.push_back(i*i) ;
26
27 for ( int i = 0 ; i < 10 ; ++i )
28 cout << "a[ " << i << "] = " << a[i] << '\n';
29
30 // access the element by iterators
31 //vector<int>::value_type ; // the type of the element of a vector<int>
32 //vector<int>::iterator ; // the type of a "pointer" of an element of a vector
33 for ( vector<value_type>::iterator it = a.begin() ; it != a.end() ; ++it )
34 cout << "a[ " << it-a.begin() << "] = " << *it << '\n';
35
36 a.clear() ;
37 a.push_back(23) ;
38 a.push_back(3) ;
39 a.push_back(-33) ;
40 a.push_back(2) ;
41 a.push_back(5) ;
42 a.push_back(-53) ;
43 a.push_back(21) ;
44 cout << "Size of a = " << a.size() << '\n' ;
45 cout << "Capacity of a = " << a.capacity() << '\n' ;
46 cout << "a = " ;
47 for ( vector<value_type>::iterator it = a.begin() ; it != a.end() ; ++it )
48 cout << *it << ' ' ;
49 cout << '\n' ;
50
51 sort(a.begin(),a.end()) ;
52 cout << "a (sorted) = " ;
53 for ( vector<value_type>::iterator it = a.begin() ; it != a.end() ; ++it )
54 cout << *it << ' ' ;
55 cout << '\n' ;
56
57 reverse(a.begin(),a.end()) ;
58 cout << "a (reversed) = " ;
59 for ( vector<value_type>::iterator it = a.begin() ; it != a.end() ; ++it )
60 cout << *it << ' ' ;
61 cout << '\n' ;
62
63 return 0 ;
64}