#include<stdio.h>
void Reverse(int A[], int l,int h) { //数组元素逆置
int i = l;
int j = h;
while (i <= j) {
int temp = A[j];
A[j] = A[i];
A[i] = temp;
i++; j--;
}
}
void Converse(int A[], int p, int n) { //将数组所有元素前移n位
Reverse(A, 0,n-1); //将整个数组逆置
Reverse(A, 0, p); //将前p个元素逆置
Reverse(A, p + 1, n-1); //将后n-p个元素逆置 从而可以得到元素前移n位的数组
for (int i = 0; i < n; i++) {
printf("%d ",A[i]);
}
}
int main() {
int A[] = { 1,4,6,4,3 };
int p = 2;
int n = 5;
Converse(A, p, n);
}
数组循环左移n位
最新推荐文章于 2023-03-28 19:54:36 发布