#include <stdio.h>
// 顯示陣列內容
void Print(const int *arr, const int n)
{
int i;
for(i=0; i<n; ++i)
}
// 左旋
void RotationLeft(int *arr, const int n)
{
int i, tmp = arr[0];
for(i=1; i<n; ++i)
arr[i-1] = arr[i] ; // 向前搬
arr[n-1] = tmp; // 原本第一筆 ---> 最後一筆
}
int main()
{
int i, arr[] = {1,2,3,4,5,6};
int n = sizeof(arr)/sizeof(*arr); // 陣列元素個數 : n
for(i=0; i<n; ++i) { // 左旋 n 次
Print(arr, n); // 顯示陣列內容
RotationLeft(arr, n ); // 進行左旋
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDpoa/npLrpmaPliJflhaflrrkKdm9pZCBQcmludChjb25zdCBpbnQgKmFyciwgY29uc3QgaW50IG4pCnsKCWludCBpOwoJZm9yKGk9MDsgaTxuOyArK2kpCgkJcHJpbnRmKCIlZCAiLCBhcnJbaV0pOwoJcHJpbnRmKCJcbiIpOwp9Ci8vIOW3puaXiwp2b2lkIFJvdGF0aW9uTGVmdChpbnQgKmFyciwgY29uc3QgaW50IG4pCnsKCWludCBpLCB0bXAgPSBhcnJbMF07Cglmb3IoaT0xOyBpPG47ICsraSkKCQlhcnJbaS0xXSA9IGFycltpXSA7IC8vIOWQkeWJjeaQrAoJYXJyW24tMV0gPSB0bXA7IC8vIOWOn+acrOesrOS4gOethiAtLS0+IOacgOW+jOS4gOethgp9CgppbnQgbWFpbigpCnsKCWludCBpLCBhcnJbXSA9IHsxLDIsMyw0LDUsNn07CglpbnQgbiA9IHNpemVvZihhcnIpL3NpemVvZigqYXJyKTsgLy8g6Zmj5YiX5YWD57Sg5YCL5pW4IDogbgoJZm9yKGk9MDsgaTxuOyArK2kpIHsgLy8g5bem5peLIG4g5qyhCgkJUHJpbnQoYXJyLCBuKTsgLy8g6aGv56S66Zmj5YiX5YWn5a65CgkJUm90YXRpb25MZWZ0KGFyciwgbiApOyAvLyDpgLLooYzlt6bml4sJCQoJfQoJcmV0dXJuIDA7Cn0=