码迷,mamicode.com
首页 > 编程语言 > 详细

1008. 数组元素循环右移问题 (20): 宏定义 new 相关知识巩固

时间:2015-04-01 19:23:01      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<iostream>
 2 using namespace std;
 3 #define swap(a,b)  {a^= b; b^=a; a^=b;}// 原来还可以这样定义宏
 4 
 5 void RightShift( int *Array, int N, int M )
 6 {
 7     int i, j;
 8     if(M>0 && M!=N) //M==0 || M==N 时不用循环右移
 9      {
10           for( i=0, j=N-1; i<j; i++, j-- )
11             swap(Array[i],Array[j]);
12 
13           for( i=0, j=M-1; i<j; i++, j-- )
14             swap(Array[i],Array[j]);
15 
16           for( i=M, j=N-1; i<j; i++, j-- )
17             swap(Array[i],Array[j]);
18      }
19 }
20 
21 int main()
22 {
23     int N, M;
24     while( cin>>N>>M )
25     {
26         //if( N>100||N<1||M<0 )  continue;
27         M%=N;
28         int *a;
29         a = new int[N];            //不要忘了 数组空间
30         for( int i=0; i<N; i++ )
31             cin>>a[i];
32         RightShift( a, N, M );
33         for( int i=0; i<N-1; i++)
34             cout<<a[i]<< ;
35         cout<<a[N-1]<<endl;;
36     }
37     return 0;
38 }

 

1008. 数组元素循环右移问题 (20): 宏定义 new 相关知识巩固

标签:

原文地址:http://www.cnblogs.com/FightForCMU/p/4384570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!