============================MODULE27======================================= | | | The program examples' source codes have been arranged in the same | | order that appeared in the Tutorial. This is unedited and unverified | | compilation. Published as is basis for educational, reacretional and | | brain teaser purposes. All trademarks, copyrights and IPs, wherever | | exist, are the sole property of their respective owner and/or | | holder. Any damage or loss by using the materials presented in this | | tutorial is USER responsibility. Part or full distribution, | | reproduction and modification is granted to any body. | | Copyright 2003-2005 © Tenouk, Inc. All rights reserved. | | Distributed through http://www.tenouk.com | | | | | =========================================================================== Originally programs compiled using Borland C++. Examples compiled using g++ are given at the end of every Module. For example if you want to compile C++ codes using VC++/VC++ .Net, change the header file accordingly. Just need some modification for the header files...: ------------------------------------------------- #include //for system() #include ... { C++ codes... } ------------------------------------------------- should be changed to: ------------------------------------------------- #include //use C++ wrapper to call C functions from C++ programs... #include using namespace std; ... { C++ codes... } ------------------------------------------------- In VC++/VC++ .Net the iostream.h (header with .h) is not valid anymore. It should be C++ header, so that it comply to the standard. In older Borland C++ compiler this still works, but not proper any more... and for standard C/C++ the portability should be no problem or better you read Module23 at http://www.tenouk.com/Module23.html to get the big picture...For C codes, they still C codes :o) ========================================================================= ============================HERE, ALL C++ codes========================== //vector example #include //vector header file #include using namespace std; int main() { //vector container for integer elements //declaration vector coll; //append elements with values 1 to 10 for(int i=1; i<=10; ++i) coll.push_back(i); //print all elements separated by a space for(i=0; i #include using namespace std; int main() { //vector container for integer elements //declaration vector vec1, vec2, vec3; cout<<"vec1 data: "; //append elements with values 1 to 10 for(int i=1; i<=10; ++i) vec1.push_back(i); //print all elements separated by a space for(i=0; i vec1"< vec1) cout<<"vec2 greater than vec1."<= vec1"<= vec1) cout<<"vec2 greater or equal than vec1."< #include using namespace std; int main() { vector ::iterator vec0Iter, vec1Iter, vec2Iter, vec3Iter, vec4Iter, vec5Iter; //Create an empty vector vec0 vector vec0; //Create a vector vec1 with 10 elements of default value 0 vector vec1(10); //Create a vector vec2 with 7 elements of value 13 vector vec2(7, 13); //Create a vector vec3 with 5 elements of value 3 and with the allocator //of vector vec2 vector vec3(5, 3, vec2.get_allocator()); //vector vec4, a copy of vector vec2 vector vec4(vec2); //Create a vector vec5 by copying the range of vec4[_First, _Last) vector vec5(vec4.begin() + 1, vec4.begin() + 3); cout<<"Operation: vector vec0\n"; cout<<"vec0 data: "; for(vec0Iter = vec0.begin(); vec0Iter != vec0.end(); vec0Iter++) cout<<" "<<*vec0Iter; cout< vec1(10)\n"; cout<<"vec1 data: "; for(vec1Iter = vec1.begin(); vec1Iter != vec1.end(); vec1Iter++) cout<<" "<<*vec1Iter; cout< vec2(7, 13)\n"; cout<<"vec2 data: "; for(vec2Iter = vec2.begin(); vec2Iter != vec2.end(); vec2Iter++) cout<<" "<<*vec2Iter; cout< vec3(5, 3, vec2.get_allocator())\n"; cout<<"vec3 data: "; for(vec3Iter = vec3.begin(); vec3Iter != vec3.end(); vec3Iter++) cout<<" "<<*vec3Iter; cout< vec4(vec2)\n"; cout<<"vec4 data: "; for(vec4Iter = vec4.begin(); vec4Iter != vec4.end(); vec4Iter++) cout<<" "<<*vec4Iter; cout< vec5(vec4.begin()+1, vec4.begin()+3)\n"; cout<<"vec5 data: "; for(vec5Iter = vec5.begin(); vec5Iter != vec5.end(); vec5Iter++) cout<<" "<<*vec5Iter; cout< #include using namespace std; int main() { vector vec2; vector ::iterator Iter; vec2.push_back(1); vec2.push_back(5); vec2.push_back(3); vec2.push_back(4); vec2.push_back(5); vec2.push_back(3); vec2.push_back(7); vec2.push_back(8); vec2.push_back(4); cout<<"Operation: vec2.begin() and vec2.end()"< #include using namespace std; int main() { vector vec1; vec1.push_back(1); vec1.push_back(7); vec1.push_back(4); vec1.push_back(3); //print all elements separated by a space cout<<"The vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1, vec2; vec1.push_back(12); vec1.push_back(10); vec1.push_back(7); //print all elements separated by a space cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vector ::iterator vec1_Iter; vec1.push_back(21); vec1.push_back(12); vec1.push_back(32); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vec1.push_back(3); vec1.push_back(1); vec1.push_back(6); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vec1.push_back(10); vec1.push_back(20); vec1.push_back(30); cout<<"vec1 data: "; for(int i=0; i #include int main( ) { using namespace std; vector vec1; vector ::iterator vec1_Iter; vec1.push_back(9); vec1.push_back(2); vec1.push_back(7); vec1.push_back(3); cout<<"Operation: vec1.begin() and vec1.end()"< #include using namespace std; int main() { vector vec1; vector ::iterator Iter; vec1.push_back(3); vec1.push_back(7); vec1.push_back(22); vec1.push_back(5); vec1.push_back(12); vec1.push_back(17); cout<<"Original vec1 data: "; for(Iter = vec1.begin(); Iter != vec1.end(); Iter++) cout<<" "<<*Iter; cout< #include using namespace std; int main() { vector vec1; vector ::iterator Iter; vec1.push_back(12); vec1.push_back(100); vec1.push_back(9); vec1.push_back(21); cout<<"Original vec1 data: "; for(Iter = vec1.begin(); Iter != vec1.end(); Iter++) cout<<" "<<*Iter; cout< #include using namespace std; int main() { vector vec1; vector ::size_type i; i = vec1.max_size(); cout<<"The max possible length of the vector is "< #include using namespace std; int main() { vector vec1; vec1.push_back(4); vec1.push_back(7); vec1.push_back(3); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vector ::iterator vec1_Iter; vector ::reverse_iterator vec1_rIter; vec1.push_back(10); vec1.push_back(7); vec1.push_back(3); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vector ::reverse_iterator vec1_rIter; vec1.push_back(7); vec1.push_back(3); vec1.push_back(4); vec1.push_back(1); cout<<"Operation: vec1.rbegin() and vec1.rend()\n"; cout<<"vec1 data: "; for(vec1_rIter = vec1.rbegin(); vec1_rIter != vec1.rend(); vec1_rIter++) cout<<*vec1_rIter<<' '; cout< #include using namespace std; int main() { vector vec1; vec1.push_back(40); vec1.push_back(20); vec1.push_back(10); vec1.push_back(12); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vec1.push_back(4); vec1.push_back(2); vec1.push_back(10); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { vector vec1; vec1.push_back(10); vec1.push_back(9); vec1.push_back(8); vec1.push_back(12); cout<<"vec1 data: "; for(int i=0; i #include using namespace std; int main() { _Bvector vecbool; vecbool.push_back(1); vecbool.push_back(0); cout<<"The vector is: "< #include using namespace std; int main() { _Bvector vec1, vec2; vec1.push_back(0); vec1.push_back(0); vec2.push_back(1); vec2.push_back(1); cout<<"The vector vec1 is: "< #include using namespace std; int main() { //deque container for floating-point elements //declaration deque elem, elem1; //insert the elements each at the front cout<<"push_front()\n"; for(int i=1; i<=10; ++i) //insert at the front elem.push_front(i*(1.2)); //print all elements separated by a space for(i=0; i #include using namespace std; int main() { deque ::iterator deq0Iter, deq1Iter, deq2Iter, deq3Iter, deq4Iter, deq5Iter, deq6Iter; //Create an empty deque deq0 deque deq0; //Create a deque deq1 with 10 elements of default value 0 deque deq1(10); //Create a deque deq2 with 7 elements of value 10 deque deq2(7, 10); //Create a deque deq3 with 4 elements of value 2 and with the //allocator of deque deq2 deque deq3(4, 2, deq2.get_allocator()); //Create a copy, deque deq4, of deque deq2 deque deq4(deq2); //deque deq5 a copy of the deq4[_First, _Last) range deq4Iter = deq4.begin(); deq4Iter++; deq4Iter++; deq4Iter++; deque deq5(deq4.begin(), deq4Iter); //Create a deque deq6 by copying the range deq4[_First, _Last) and //the allocator of deque deq2 deq4Iter = deq4.begin(); deq4Iter++; deq4Iter++; deq4Iter++; deque deq6(deq4.begin(), deq4Iter, deq2.get_allocator()); //------------------------------------ cout<<"Operation: deque deq0\n"; cout<<"deq0 data: "; for(deq0Iter = deq0.begin(); deq0Iter != deq0.end(); deq0Iter++) cout<<*deq0Iter<<" "; cout< deq1(10)\n"; cout<<"deq1 data: "; for(deq1Iter = deq1.begin(); deq1Iter != deq1.end(); deq1Iter++) cout<<*deq1Iter<<" "; cout< deq2(7, 3)\n"; cout<<"deq2 data: "; for(deq2Iter = deq2.begin(); deq2Iter != deq2.end(); deq2Iter++) cout<<*deq2Iter<<" "; cout< deq3(4, 2, deq2.get_allocator())\n"; cout<<"deq3 data: "; for(deq3Iter = deq3.begin(); deq3Iter != deq3.end(); deq3Iter++) cout<<*deq3Iter<<" "; cout< deq4(deq2);\n"; cout<<"deq4 data: "; for(deq4Iter = deq4.begin(); deq4Iter != deq4.end(); deq4Iter++) cout<<*deq4Iter<<" "; cout< deq5(deq4.begin(), deq4Iter)\n"; cout<<"deq5 data: "; for(deq5Iter = deq5.begin(); deq5Iter != deq5.end(); deq5Iter++) cout << *deq5Iter<<" "; cout << endl; cout<<"\nOperation1: deq4Iter = deq4.begin() and deq4Iter++...\n"; cout<<"Operation2: deque deq6(deq4.begin(), \n" " deq4Iter, deq2.get_allocator())\n"; cout<<"deq6 data: "; for(deq6Iter = deq6.begin(); deq6Iter != deq6.end(); deq6Iter++) cout<<*deq6Iter<<" "; cout< #include using namespace std; int main() { vector ::iterator vec0Iter, vec1Iter, vec2Iter, vec3Iter, vec4Iter, vec5Iter; //Create an empty vector vec0 vector vec0; //Create a vector vec1 with 10 elements of default value 0 vector vec1(10); //Create a vector vec2 with 7 elements of value 13 vector vec2(7, 13); //Create a vector vec3 with 5 elements of value 3 and with the allocator //of vector vec2 vector vec3(5, 3, vec2.get_allocator()); //vector vec4, a copy of vector vec2 vector vec4(vec2); //Create a vector vec5 by copying the range of vec4[_First, _Last) vector vec5(vec4.begin() + 1, vec4.begin() + 3); cout<<"Operation: vector vec0\n"; cout<<"vec0 data: "; for(vec0Iter = vec0.begin(); vec0Iter != vec0.end(); vec0Iter++) cout<<" "<<*vec0Iter; cout< vec1(10)\n"; cout<<"vec1 data: "; for(vec1Iter = vec1.begin(); vec1Iter != vec1.end(); vec1Iter++) cout<<" "<<*vec1Iter; cout< vec2(7, 13)\n"; cout<<"vec2 data: "; for(vec2Iter = vec2.begin(); vec2Iter != vec2.end(); vec2Iter++) cout<<" "<<*vec2Iter; cout< vec3(5, 3, vec2.get_allocator())\n"; cout<<"vec3 data: "; for(vec3Iter = vec3.begin(); vec3Iter != vec3.end(); vec3Iter++) cout<<" "<<*vec3Iter; cout< vec4(vec2)\n"; cout<<"vec4 data: "; for(vec4Iter = vec4.begin(); vec4Iter != vec4.end(); vec4Iter++) cout<<" "<<*vec4Iter; cout< vec5(vec4.begin()+1, vec4.begin()+3)\n"; cout<<"vec5 data: "; for(vec5Iter = vec5.begin(); vec5Iter != vec5.end(); vec5Iter++) cout<<" "<<*vec5Iter; cout< #include using namespace std; int main() { deque ::iterator deq0Iter, deq1Iter, deq2Iter, deq3Iter, deq4Iter, deq5Iter, deq6Iter; //Create an empty deque deq0 deque deq0; //Create a deque deq1 with 10 elements of default value 0 deque deq1(10); //Create a deque deq2 with 7 elements of value 10 deque deq2(7, 10); //Create a deque deq3 with 4 elements of value 2 and with the //allocator of deque deq2 deque deq3(4, 2, deq2.get_allocator()); //Create a copy, deque deq4, of deque deq2 deque deq4(deq2); //deque deq5 a copy of the deq4[_First, _Last) range deq4Iter = deq4.begin(); deq4Iter++; deq4Iter++; deq4Iter++; deque deq5(deq4.begin(), deq4Iter); //Create a deque deq6 by copying the range deq4[_First, _Last) and //the allocator of deque deq2 deq4Iter = deq4.begin(); deq4Iter++; deq4Iter++; deq4Iter++; deque deq6(deq4.begin(), deq4Iter, deq2.get_allocator()); //------------------------------------ cout<<"Operation: deque deq0\n"; cout<<"deq0 data: "; for(deq0Iter = deq0.begin(); deq0Iter != deq0.end(); deq0Iter++) cout<<*deq0Iter<<" "; cout< deq1(10)\n"; cout<<"deq1 data: "; for(deq1Iter = deq1.begin(); deq1Iter != deq1.end(); deq1Iter++) cout<<*deq1Iter<<" "; cout< deq2(7, 3)\n"; cout<<"deq2 data: "; for(deq2Iter = deq2.begin(); deq2Iter != deq2.end(); deq2Iter++) cout<<*deq2Iter<<" "; cout< deq3(4, 2, deq2.get_allocator())\n"; cout<<"deq3 data: "; for(deq3Iter = deq3.begin(); deq3Iter != deq3.end(); deq3Iter++) cout<<*deq3Iter<<" "; cout< deq4(deq2);\n"; cout<<"deq4 data: "; for(deq4Iter = deq4.begin(); deq4Iter != deq4.end(); deq4Iter++) cout<<*deq4Iter<<" "; cout< deq5(deq4.begin(), deq4Iter)\n"; cout<<"deq5 data: "; for(deq5Iter = deq5.begin(); deq5Iter != deq5.end(); deq5Iter++) cout << *deq5Iter<<" "; cout << endl; cout<<"\nOperation1: deq4Iter = deq4.begin() and deq4Iter++...\n"; cout<<"Operation2: deque deq6(deq4.begin(), \n" " deq4Iter, deq2.get_allocator())\n"; cout<<"deq6 data: "; for(deq6Iter = deq6.begin(); deq6Iter != deq6.end(); deq6Iter++) cout<<*deq6Iter<<" "; cout<