Standard C++ Library Copyright 1998, Rogue Wave Software, Inc. NAME swap_ranges - Exchanges a range of values in one location with those in another. SYNOPSIS #include <algorithm> template <class ForwardIterator1, class ForwardIterator2> ForwardIterator2 swap_ranges (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2); DESCRIPTION The swap_ranges algorithm exchanges corresponding values in two ranges, in the following manner: For each non-negative integer n < (last - first), the func- tion exchanges *(first1 + n) with *(first2 + n)). After com- pleting all exchanges, swap_ranges returns an iterator that points to the end of the second container (in other words, first2 + (last1 -first1)). The result of swap_ranges is undefined if the two ranges [first, last) and [first2, first2 + (last1 - first1)) overlap. EXAMPLE // // swap.cpp // #include <vector> #include <algorithm> #include <iostream> using namespace std; int main() { int d1[] = {6, 7, 8, 9, 10, 1, 2, 3, 4, 5}; // Set up a vector vector<int> v(d1+0,d1 + 10); // Output original vector cout << "For the vector: "; copy(v.begin(),v.end(), ostream_iterator<int,char>(cout," ")); // Swap the first five elements with the last five elements swap_ranges(v.begin(),v.begin()+5, v.begin()+5); // Output result cout << endl << endl << "Swapping the first five elements " << "with the last five gives: " << endl << " "; copy(v.begin(),v.end(), ostream_iterator<int,char>(cout," ")); return 0; } Program Output For the vector: 6 7 8 9 10 1 2 3 4 5 Swapping the first five elements with the last five gives: 1 2 3 4 5 6 7 8 9 10 Swapping the first and last elements gives: 10 2 3 4 5 6 7 8 9 1 WARNINGS If your compiler does not support default template parame- ters, you always need to supply the Allocator template argu- ment. For instance, you need to write: vector<int, allocator<int> > instead of: vector<int> If your compiler does not support namespaces, then you do not need the using declaration for std. SEE ALSO iter_swap, swap
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |