diff --git a/code_circle_leftmove_2010.cpp b/code_circle_leftmove_2010.cpp new file mode 100644 index 0000000..aae7dfd --- /dev/null +++ b/code_circle_leftmove_2010.cpp @@ -0,0 +1,25 @@ +#include +#include + +void reverse(int a[], int start, int end) { + //逆置start~end之间的所有数 + int i = 0; + while (start + i < end - i) { + int tmp = a[start + i]; + a[start + i] = a[end - i]; + a[end - i] = tmp; + i++; + } +} + +void move(int a[], int p, int length) { + reverse(a, 0, p - 1); + reverse(a, p, length - 1); + reverse(a, 0, length - 1); +} + +int main() { + int a[] = { 1,2,3,4,5,6,7,8,9,10 }; + move(a, 7, 10); + return 0; +} \ No newline at end of file