在C++中,可以通過以下幾種方法對切片進行逆序操作:
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin() + 1, vec.end() - 1); // 對下標為1到倒數第二個元素進行逆序操作
template <typename T>
void reverseSlice(std::vector<T>& vec, int start, int end) {
std::reverse(vec.begin() + start, vec.begin() + end);
}
std::vector<int> vec = {1, 2, 3, 4, 5};
reverseSlice(vec, 1, 4); // 對下標為1到3的元素進行逆序操作
template <typename T>
void reverseSlice(std::vector<T>& vec, int start, int end) {
if (start >= end) {
return;
}
std::swap(vec[start], vec[end]);
reverseSlice(vec, start + 1, end - 1);
}
std::vector<int> vec = {1, 2, 3, 4, 5};
reverseSlice(vec, 1, 4); // 對下標為1到3的元素進行逆序操作