3663=顺序表应用4-2:元素位置互换之逆置算法(数据改进)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int main() 5 { 6 int m,i,j,k,p,mark=1,n,t; 7 int math[1000000]; 8 scanf("%d",&n); 9 for(i=0; i<n; i++) 10 { 11 scanf("%d",&math[i]); 12 } 13 scanf("%d",&m); 14 for(j=0; j<m; j++) 15 { 16 scanf("%d",&k); 17 for(i=0; i<n/2; i++) 18 { 19 t=math[i]; 20 math[i]=math[n-i-1]; 21 math[n-i-1]=t; 22 } 23 for(i=0; i<(n-k)/2; i++) 24 { 25 t=math[i]; 26 math[i]=math[n-i-1-k]; 27 math[n-i-1-k]=t; 28 } 29 for(i=n-k; i<n-k/2; i++) 30 { 31 t=math[i]; 32 math[i]=math[2*n-k-i-1]; 33 math[2*n-k-i-1]=t; 34 } 35 for(i=0; i<n; i++) 36 { 37 if(i!=0)printf(" "); 38 printf("%d",math[i]); 39 } 40 printf("\n"); 41 } 42 return 0; 43 }