晚上好,人!FIFO列表(移動元素)[C++]
我試圖解決一個相當簡單的問題,但..嗯,看來我不能。 :)
的想法是,我有一個FIFO列表(FIFO隊列)與n個元素和它給的值,K(K < N)。我的小程序必須將元素向左移動k個元素。 (例如,對於n = 4,k = 3,a [] =(1,2,3,4),結果是4 1 2 3)。
但是,我沒有得到任何附近。
這是我到目前爲止已經寫的:
#include <iostream>
using namespace std;
void move (int a[100], unsigned n, unsigned k) {
int t[100];
unsigned i;
for (i=0; i<=n-1; i++) t[i]=a[i];
for (i=0; i<=k-1; i++) a[i]=a[i+k-1];
for (i=k; i<=n-1; i++) a[i]=t[i+1];
}
int main() {
int a[100];
unsigned k, n, i;
cout<<"n; k= "; cin>>n>>k;
for (i=0; i<=n-1; i++) cin>>a[i];
move (a, n, k);
for (i=0; i<=n-1; i++) cout<<a[i]<<" ";
}
任何幫助將不勝感激。先謝謝你。
'用k個元素向左移動元素'是什麼意思?你的意思是「將第k個元素移到隊列的前面?」 – 2010-02-03 17:55:42
男人,那真是一個醜陋的一段代碼,即使codaddict清理了一點點。 -1不是來自我的,但如果是因爲代碼,我不會感到驚訝。我對未來的建議,因爲你似乎在學習:爲你的讀者編寫和格式化你的代碼,而不是爲了你打字時的方便。這會提高你的代碼質量,並且會使人更有可能回答你的問題。現在,請原諒我,我想我會在樓上開源的傢伙,並告訴他C++多麼醜陋,如果他仍然在這個大樓。 – OregonGhost 2010-02-03 17:58:17
對不起...不好意思,我的骯髒的代碼。 – flowerpowerduck 2010-02-03 18:21:32