std::iter_swap
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
ヘッダ <algorithm> で定義 | ||
template<class ForwardIt1, class ForwardIt2 > void iter_swap( ForwardIt1 a, ForwardIt2 b ); | ||
スワップ指定した反復子が指している要素の値.
Original:
Swaps the values of the elements the given iterators are pointing to.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集]パラメータ
a, b | - | スワップする要素へのイテレータ Original: iterators to the elements to swap The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
型の要件 | ||
-ForwardIt1, ForwardIt2 は ForwardIterator の要件を満たさなければなりません。 | ||
-*a, *b は Swappable の要件を満たさなければなりません。 |
[編集]値を返します
(なし)
[編集]複雑性
定数
Original:
constant
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集]可能な実装
template<class ForwardIt1, class ForwardIt2>void iter_swap(ForwardIt1 a, ForwardIt2 b){usingstd::swap; swap(*a, *b);} |
[編集]例
以下はで選択ソートの実装はC + +です
Original:
The following is an implementation of selection sort in C++
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Run this code
#include <random>#include <vector>#include <iostream>#include <algorithm>#include <functional>#include <iterator> template<class ForwardIt>void selection_sort(ForwardIt begin, ForwardIt end){for(ForwardIt i = begin; i != end;++i) std::iter_swap(i, std::min_element(i, end));} int main(){std::random_device rd;std::mt19937 gen(rd());std::uniform_int_distribution<> dist(-10, 10);std::vector<int> v; generate_n(back_inserter(v), 20, bind(dist, gen)); std::cout<<"Before sort: "; copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " ")); selection_sort(v.begin(), v.end()); std::cout<<"\nAfter sort: "; copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));std::cout<<'\n';}
出力:
Before sort: -7 6 2 4 -1 6 -9 -1 2 -5 10 -9 -5 -3 -5 -3 6 6 1 8 After sort: -9 -9 -7 -5 -5 -5 -3 -3 -1 -1 1 2 2 4 6 6 6 6 8 10
[編集]参照
2つのオブジェクトの値を入れ替えます (関数テンプレート) | |
2つの範囲の要素を入れ替えます (関数テンプレート) |