0

我想做一些让琴弦有序向上移动的东西。例如:

迭代 1:

Hello There
I am
Asking a question
To you

迭代 2:

I am 
Asking a question
To you
Next String

我将如何以最不占用内存的方式来解决这个问题?谢谢。

4

2 回答 2

1

一个简单的方法是循环队列

循环队列可以实现为一个数组和一个指向第一个索引的指针。当你想改变第一个元素时,你只需要提前索引。当索引通过数组的末尾时,它会回滚到索引 0。

使用循环队列:

  • 向上移动字符串不需要移动数组中的任何内容。
  • 队列中的所有条目都可以存储在一个数组中,这比链接实现需要更少的内存。
于 2013-04-07T22:28:54.207 回答
0

如果您没有义务使用数组,我会建议使用队列,用它来实现您想要做的事情相当简单。

Queue<String> foo = new Queue<String>();
foo.offer("Hello"); //first element is hello
foo.offer("world"); //second element is world
String s = foo.poll(); //s = hello and now the first element of the queue is world
于 2013-04-07T22:32:36.753 回答