要自定義C++的rotate函數,可以按照以下步驟進行:
下面是一個簡單的示例代碼:
#include <iostream>
#include <vector>
void customRotate(std::vector<int>& arr, int start, int end, int offset) {
int n = end - start + 1;
offset = offset % n;
std::vector<int> temp(arr.begin() + start, arr.begin() + start + n);
for (int i = 0; i < n; i++) {
arr[(start + i + offset) % n] = temp[i];
}
}
int main() {
std::vector<int> arr = {1, 2, 3, 4, 5};
customRotate(arr, 1, 4, 2);
for (int i = 0; i < arr.size(); i++) {
std::cout << arr[i] << " ";
}
return 0;
}
這段代碼演示了如何自定義一個rotate函數,將數組{1, 2, 3, 4, 5}中的部分元素旋轉2個位置,輸出結果為{1, 4, 5, 2, 3}。您可以根據需要對代碼進行修改和擴展。