要自定義C++的rotate函數(shù),可以按照以下步驟進(jìn)行:
下面是一個(gè)簡單的示例代碼:
#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;
}
這段代碼演示了如何自定義一個(gè)rotate函數(shù),將數(shù)組{1, 2, 3, 4, 5}中的部分元素旋轉(zhuǎn)2個(gè)位置,輸出結(jié)果為{1, 4, 5, 2, 3}。您可以根據(jù)需要對(duì)代碼進(jìn)行修改和擴(kuò)展。