我想向左旋轉數組,例如rotateLeft3([1,2,3])→[2,3,1]如何將元素左移到數組中?
這是我的解決方案,但由於某種原因它不起作用。有人可以解釋我做錯了什麼嗎?
#include <iostream>
using namespace std;
int main()
{
bool six;
int Array[3] = { 1,2,3 };
int x = sizeof(Array)/sizeof(Array[0]);
int temp = Array[0];
int temp2;
for (int i = 0; i < x; i++)
{
Array[i] = Array[i + 1];
Array[x - 1] = temp;
}
for (int i = 0; i < 3; i++)
{
cout << Array[i] << endl;
}
system("pause");
return 0;
}
我認爲你最大的問題在於,你不能在調試器中一步一步地運行它,看看它究竟發生了什麼故障。否則,你是非常接近的,只是覆蓋最後一個值太快而且太多次,並且由於'for'中錯誤的結束條件而超出了數組邊界。這兩個問題都可以/應該在調試器中被發現,繼續玩你的舊代碼,直到你學習如何使用調試器來發現這些事情。 – Ped7g
你的意思是'把你的數組右移' –