題目的意思是不能再開乙個陣列,僅憑現在的陣列做到迴圈右移。
我的思路是一共做m次迴圈,每一次迴圈將整組的陣列向右移一位,將陣列的最後一位取出,在每次右移一位後再加到陣列開頭。因為此時的陣列開頭(a[1])已經空了,將之前取出的陣列最後一位(a[n])放到開頭,再進行下一輪的迴圈。
#include#include#include#include#include#include#include#include#includeusing namespace std;
const int maxn=110;
const int inf=0x3f3f3f3f;
int a[maxn];
int main()
a[1]=temp;
} cout
cout<<" "<}
PAT乙1008 陣列元素迴圈右移問題
乙個陣列a中存有n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m 0 個位置,即將a中的資料由 a 0 a 1 a n 1 變換為 a n m a n 1 a 0 a 1 a n m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方...
1008 陣列元素迴圈右移問題(PAT)
乙個陣列a中存有n n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m m 0 個位置,即將a中的資料由 a 0 a 1 a n 1 變換為 a n m a n 1 a 0 a 1 a n m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計...
PAT 1008 陣列元素迴圈右移問題
乙個陣列a中存有n n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m m 0 個位置,即將a中的資料由 a0 a1 an 1 變換為 an m an 1 a0 a1 an m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?輸入...