【发布时间】:2010-02-03 17:50:19
【问题描述】:
大家晚上好!
我正在尝试解决一个相当简单的问题,但是.. 好吧,我似乎做不到。 :)
我的想法是我有一个包含 n 个元素的 FIFO 列表(FIFO 队列),并且它被赋予了一个值 k (k
但好吧,我离那还很远。
这是我目前写的:
#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 个元素移到队列的前面?”
-
伙计,这确实是一段丑陋的源代码,即使在 codaddict 清理了一点之后。 -1 不是来自我,但如果是因为代码,我不会感到惊讶。我对未来的建议,因为你似乎正在学习:为读者编写和格式化你的代码,而不是为了你打字时的方便。这将提高您的代码质量,并且更有可能有人会回答您的问题。现在请原谅,我想我要上楼去找开源家伙,告诉他 C++ 有多丑,如果他还在这栋楼里的话。
-
对不起...原谅我肮脏的代码。
标签: c++ data-structures list queue fifo