ForwardIterator2 swap_ranges(ForwardIterator1 beg1,ForwardIterator1 End1,
ForwardIterator2 beg2)
- 把区间1[ ForwardIterator1 beg1,ForwardIterator1 End1)和以ForwardIterator2 beg2为起始的区间2内的对应元素互换
- 返回第二区间中”最后一个被交换元素“的下一个位置
- 必须确保目标区间有足够空间
- 两区间不得重叠
#include"algostuff.h"
using namespace std;
int main()
{
vector<int> col1;
deque<int> col2;
INSERT_ELEMENTS(col1, 1, 9);
INSERT_ELEMENTS(col2, 11, 23);
PRINT_ELEMENTS(col1, "col1: ");
PRINT_ELEMENTS(col2, "col2: ");
//swap elements
swap_ranges(col1.begin(), col1.end(), col2.begin());
PRINT_ELEMENTS(col1, "col1: ");
PRINT_ELEMENTS(col2, "col2: ");
swap_ranges(col1.begin(), col1.begin()+3, col1.rbegin());
PRINT_ELEMENTS(col1, "col1: ");
}
第一次调用swap_ranges()是将col1和col2中对应位置的元素交换,col2中剩余位置处的元素保持不变。
第二次调用swap_ranges()是将col1的前三个元素和后三个元素交换

文中涉及的 algostuff.h
该代码示例展示了如何使用swap_ranges函数交换两个容器(如vector和deque)中对应位置的元素。第一次调用交换整个区间,第二次调用则交换了vector的一部分元素。algostuff.h包含了一些算法库。
357

被折叠的 条评论
为什么被折叠?



