#include <algorithm> template <class BidirectionalIterator, class OutputIterator> OutputIterator reverse_copy(BidirectionalIterator first, BidirectionalIterator last, OutputIterator result);
#include <stdio.h> #include <vector> #include <algorithm> using namespace std; int main() { // 初期設定 vector<int> v1 {0, 1, 2, 3, 4}; printf("v1 :"); for (auto x : v1) printf(" %d", x); printf("\n"); vector<int> v2 {10, 20, 30, 40, 50}; printf("v2 :"); for (auto x : v2) printf(" %d", x); printf("\n"); // v1 の 1 番目から 3 番目を反転する printf("v1 の 1 番目から 3 番目を反転する\n"); reverse(v1.begin(), v1.begin()+3); printf(" v1 :"); for (auto x : v1) printf(" %d", x); printf("\n"); // 再度,v1 の 1 番目から 3 番目を反転し,v2 にコピー printf("再度,v1 の 1 番目から 3 番目を反転し,v2 にコピー\n"); reverse_copy(v1.begin(), v1.begin()+3, v2.begin()); printf(" v1 :"); for (auto x : v1) printf(" %d", x); printf("\n"); printf(" v2 :"); for (auto x : v2) printf(" %d", x); printf("\n"); return 0; }
v1 : 0 1 2 3 4 v2 : 10 20 30 40 50 v1 の 1 番目から 3 番目を反転する v1 : 2 1 0 3 4 再度,v1 の 1 番目から 3 番目を反転し,v2 にコピー v1 : 2 1 0 3 4 v2 : 0 1 2 40 50
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |