STL algorihtm算法iter_swap(29)

Posted blfbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL algorihtm算法iter_swap(29)相关的知识,希望对你有一定的参考价值。

iter_swap原型:

std::iter_swap

template <class ForwardIterator1, class ForwardIterator2>
  void iter_swap (ForwardIterator1 a, ForwardIterator2 b);
交换两个迭代器指向的元素的值。

该函数调用swap来交换两个值。

其行为类似与:

1
2
3
4
5
template <class ForwardIterator1, class ForwardIterator2>
  void iter_swap (ForwardIterator1 a, ForwardIterator2 b)
{
  swap (*a, *b);
}

一个简单的样例:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argv,char **argc)
{
	vector<int> v1{1,2,3,4};
	vector<int> v2{10,11,20};
	cout<<"v1=";
	for(int i:v1)
		cout<<i<<" ";
	cout<<endl;
	
	iter_swap(v1.begin(),v1.end()-1);
	cout<<"afeter 	iter_swap(v1.begin(),v1.end()-1);\n v1=";
	for(int i:v1)
		cout<<i<<" ";
	cout<<endl;

	cout<<"v2=";
	for(int i:v2)
		cout<<i<<" ";
	cout<<endl;

	iter_swap(v1.begin(),v2.end()-1);
	cout<<"afeter 	iter_swap(v1.begin(),v2.begin());\n v1=";
	for(int i:v1)
		cout<<i<<" ";
	cout<<endl;

	cout<<"v2=";
	for(int i:v2)
		cout<<i<<" ";
	cout<<endl;

}
执行截图:
技术分享



——————————————————————————————————————————————————————————————————

//写的错误或者不好的地方请多多指导,能够在以下留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足。以便我改动。更好的分享给大家。谢谢。

转载请注明出处:http://blog.csdn.net/qq844352155

author:天下无双

Email:[email protected]

2014-9-17

于GDUT

——————————————————————————————————————————————————————————————————

















以上是关于STL algorihtm算法iter_swap(29)的主要内容,如果未能解决你的问题,请参考以下文章

C++ STL应用与实现17: 如何使用迭代器辅助函数

将 std::iter_swap 用于 std::optional

C++ 使用 iter_swap 改变向量的顺序

STL六大组件之算法

STL六大组件之算法

STL常用算法的使用与实现举例