int numbers[6] = {5, 10, 4, 13, 11, 19};
int main() {
make_heap(numbers, numbers + 6, greater‹int›());
for (int i = 6; i ›= 1; i--) {
cout ‹‹ numbers[0] ‹‹ endl;
pop_heap(numbers, numbers + i, greater‹int›());
}
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
int v1[3] = {13, 18, 23};
int v2[4] = {10, 13, 17, 23};
int result[4] = {0, 0, 0, 0};
int main() {
set_intersection(v1, v1 + 3, v2, v2 + 4, result);
for (int i = 0; i ‹ 4; i++) cout ‹‹ result[i] ‹‹ ' ';
cout ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
bool input1[4] = {1, 1, 0, 1};
bool input2[4] = {0, 1, 0, 0};
int main() {
int output[4];
transform(input1, input1 + 4, input2, output, logical_and‹bool›());
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
bool input1[4] = {1, 1, 0, 1};
bool input2[4] = {0, 1, 0, 0};
int main() {
int output[4];
transform(input1, input1 + 4, input2, output, logical_or‹bool›());
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
int input1[4] = {1, 7, 2, 2};
int input2[4] = {1, 6, 2, 3};
int main() {
int output[4];
transform(input1, input1 + 4, input2, output, not_equal_to‹int›());
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
int less_10(int a_) {
return a_ ‹ 10 ? 1 : 0;
}
int numbers[6] = {6, 12, 3, 10, 1, 20};
int main() {
partition(numbers, numbers + 6, less_10);
for (int i = 0; i ‹ 6; i++) cout ‹‹ numbers[i] ‹‹ ' ';
cout ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
#include ‹string.h›
int vector1[5] = {1, 2, 3, 4, 5};
int vector2[5] = {1, 2, 3, 4, 5};
int main() {
int result;
result = inner_product(vector1, vector1 + 5, vector2, 0);
cout ‹‹ "Inner product = " ‹‹ result ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
int main() {
vector‹int›v;
v.push_back(4);
v.push_back(1);
v.push_back(5);
sort(v.begin(), v.end(), greater‹int›());
vector‹int›::iterator i;
for (i = v.begin(); i != v.end(); i++) cout ‹‹ *i ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
int input1[4] = {6, 8, 10, 2};
int input2[4] = {4, 2, 11, 3};
int main() {
int output[4];
transform(input1, input1 + 4, input2, output, modulus‹int›());
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
int main() {
int array[20];
for (int i = 0; i ‹ 20; i++) {
array[i] = i/4;
cout ‹‹ array[i] ‹‹ ' ';
}
cout ‹‹ "\n3 can be inserted at index: "
‹‹ upper_bound(array, array + 20, 3) - array ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
int input1[4] = {1, 7, 2, 2};
int input2[4] = {1, 6, 2, 3};
int main() {
int output[4];
transform(input1, input1 + 4, input2, output, equal_to‹int›());
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
int main() {
vector‹int› numbers(100);
for (int i = 0; i ‹ 100; i++) numbers[i] = i % 3;
int elements = 0;
count(numbers.begin(), numbers.end(), 2, elements);
cout ‹‹ "Found " ‹‹ elements ‹‹ " 2's." ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
int numbers[8] = {0, 1, 1, 2, 2, 2, 3, 4};
int result[8] = {0, 0, 0, 0, 0, 0, 0, 0};
int main() {
unique_copy(numbers, numbers + 8, result);
for (int i = 0; i ‹ 8; i++) cout ‹‹ result[i] ‹‹ ' ';
cout ‹‹ endl;
return 0;
}
#include ‹iostream.h›
#include ‹stl.h›
int input1[4] = {1, 5, 7, 8};
int input2[4] = {1, 4, 8, 3};
int main() {
int output[4];
transform(input1, input1 + 4, input2, output, minus‹int›());
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
int numbers[6] = {0, 1, 2, 0, 1, 2};
int result[6] = {0, 0, 0, 0, 0, 0};
int main() {
replace_copy(numbers, numbers + 6, result, 2, 42);
for (int i = 0; i ‹ 6; i++) cout ‹‹ result[i] ‹‹ ' ';
cout ‹‹ endl;
return 0;
}
#include ‹stl.h›
#include ‹iostream.h›
#include ‹string.h›
int main() {
char* word1 = "World";
Читать дальше