我想製作一些字符串將有序地向上移動的東西。例如:移動數組中的元素?
迭代1:
Hello There
I am
Asking a question
To you
迭代2:
I am
Asking a question
To you
Next String
我究竟是如何去了解這一點,在最少的內存密集型的方式?謝謝。
我想製作一些字符串將有序地向上移動的東西。例如:移動數組中的元素?
迭代1:
Hello There
I am
Asking a question
To you
迭代2:
I am
Asking a question
To you
Next String
我究竟是如何去了解這一點,在最少的內存密集型的方式?謝謝。
一個簡單的方法是circular queue。
循環隊列可以實現爲一個數組和一個指向第一個索引的指針。當你想改變第一個元素時,你只需要提前索引。當索引傳遞數組的末尾,它回滾到索引0
隨着循環隊列:
謝謝,但我究竟會如何去做呢?對於簡單的問題抱歉,我對Java的使用不太好 – user2255617 2013-04-07 22:31:23
您可以實現一個循環隊列,其中包含一個數組和一個指向隊列開始位置的索引,另一個索引指向新項目的放置位置。 Java提供了這個基於數組的隊列:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html。下面是一個帶有Apache許可證的Java實現:http://www.java2s.com/Code/Java/Collections-Data-Structure/CircularQueue.htm – 2013-04-07 22:36:47
如果你沒有義務使用數組,我會建議一個隊列,用它來實現你想要做的事情很簡單。
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
我會試試這個,謝謝:) – user2255617 2013-04-07 22:36:41
注意:java.util。隊列是一個接口。 – 2013-04-07 22:41:20
哦,我正想問爲什麼日食會返回錯誤,謝謝! – user2255617 2013-04-07 22:43:14
到目前爲止你寫了哪些代碼? – nommyravian 2013-04-07 22:23:03
我還沒有,但是我會在每次收到消息時(這是一個Minecraft插件)從另一個陣列中輸入新字符串(例如'Next String') – user2255617 2013-04-07 22:25:19
在陣列中移動元素需要移動所有元素。你堅持使用數組嗎?因爲其他一些數據結構可能更適合這項任務。 – Dukeling 2013-04-07 22:28:00