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 }

 

posted @ 2019-10-08 13:14  念文丶  阅读(256)  评论(0编辑  收藏  举报