Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- template <typename T>
- T* reverse(T* srcB, T* srcE)
- {
- T* origSrcB{srcB};
- --srcE;
- T tmp;
- while(srcB < srcE)
- {
- tmp = *srcB;
- *srcB++ = *srcE;
- *srcE-- = tmp;
- }
- return origSrcB;
- }
- template <typename T>
- void print(T* begin, T* end)
- {
- while (begin != end )
- {
- std::cout << *begin << ' ';
- ++begin;
- }
- std::cout << '\n';
- }
- int main()
- {
- const int arrSize{10};
- int arr[arrSize]{1,2,3,4,5,6,7,8,9,10};
- char str[arrSize]{'a','b','c','d','e','f','g','h','i','j'};
- reverse(arr,arr+arrSize);
- print(arr,arr+arrSize);
- print(reverse(str,str+arrSize),str+arrSize);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement