現在、私はDoublyLinkedList(DLL)データ構造を使用してカードゲームに関する私の課題に取り組んでいます。私は、カードのデッキから無作為に4ペアのカードを選び、ノードを切り替えることなくカードの内容を交換したいと考えています。だから、基本的に、私たちはランダムジェネレータを使い、残っているカードの量に基づいてカードのインデックスをランダムに割り当てます。問題は、カードにインデックスを割り当ててスワップする方法です。 arraylistでは、単にgetメソッドとsetメソッドを使用します。しかし、二重リンクリスト(DLL)の場合、私はDLLクラスにアクセスする必要がありますか?誰も助けることができますか?二重リンクリスト
public void swap() {
int index1, index2;
Card temp;
Random generator = new Random();
for(int i=0;i<4;i++){
index1 = generator.nextInt(cards.getSize() - 1);
index2 = generator.nextInt(cards.getSize()- 1);
//swapping codes here which im stuck here
}
}
なぜ 'java.util.LinkedList'を使用しないのですか? – Everv0id
ナー、私の任務。 DLLの独自の実装のみを使用できます。 @ Everv0id –
DoublyLinkedListはRandomAccessデータ型であってはなりません。インデックスでNodeにアクセスすることはできません。 2つのノードを交換する必要がある場合は、前と次のノードポインタを入れ替える必要があります。 –