矩阵乘法实现数组逆序

防鄙视系列,以前挖的坑,早晚要自己填下.

大学荒废了4年,混了个研究生,才发现压力更大,不多说了,都是泪

(ab)‘=b'a' ,'表示逆矩阵,这是矩阵乘法的性质

 1 void reverse(int m,int n,int*buf);
 2 void rswap(int ms,int me,int ns,int ne,int* buf);
 3 int main()
 4 {
 5     int buf[]={1,2,3,4,5,6,7};
 6     reverse(0,sizeof(buf)/4,buf);
 7 
 8     return 0;
 9     
10 }
11 
12 void reverse(int m,int n,int*buf)
13 {
14     if(m<n)
15     {
16         int q=(m+n)/2;
17         if((m-n+1)%2==0)
18         {
19         reverse(m,q,buf);
20         reverse(q+1,n,buf);
21         rswap(m,q,q+1,n,buf);
22         }
23         else
24         {
25         reverse(m,q-1,buf);
26         reverse(q+1,n,buf);
27         rswap(m,q-1,q+1,n,buf);
28         }
29         
30     }
31 }
32 
33 void rswap(int ms,int me,int ns,int ne,int* buf)
34 {
35     int temp;
36     while(ms<=me)
37     {
38         temp=buf[ms];
39         buf[ms]=buf[ns];
40         buf[ns]=temp;
41         ++ms,++ns;
42     }
43 }
原文地址:https://www.cnblogs.com/cavehubiao/p/3317787.html