2016-12-31 2 views
0

リンクされた整数リストの1つのノードとその同じリスト内の別のノードをチェックする検索アルゴリズムを作成しようとしています。Javaで2つのリンクされたリストノードをどのように比較しますか?

私は(データがリストにある)IF文に問題があるように思われると思う:私はもともとlistScore [j]を試すなかった

LinkedList<Integer> listScore = new LinkedList<Integer>(); 
    int temp = 0; 
    String temp2 = ""; 
    boolean flag = true; 
    while (flag){ 
    flag = false; 
    for (int j = 0; j < linebr; j++){ 
    if (listScore(j) < listScore(j+1)){ 
     System.out.println("Testing"); 
    } 
} 

が、私は方法Iと間違って何かがあると思いますそれを書いた。なぜそれdoesent仕事がどんな助けか説明は大いに感謝されるでしょう!

+0

答えは[the javadoc](http://docs.oracle.com/javase/8/docs/api/java/util/List.html)です。ちなみに、あなたの主なニーズの1つがリストの 'j'番目の項目を取得することである場合、_はLinkedList_を使用しません。これは、 'j'番目の項目を取得するためには、リストの先頭から始めて、' j + 1'節点まで進んでいく必要があります。 'ArrayList'はこの用途にはるかに良い選択です。 – ajb

+0

私はそれについて心配しましたが、私は任期の終わりがあり、ゲームのどこかにリンクリストを組み込む必要があったため(私の戦艦)、スコアシステムが私がそれをダイナミックであると思った唯一の方法でした。バイナリ検索はまともなものでしょうか? – Samuelf80

+0

まず、問題の正確な説明がなければ、まず自分自身で問題を探し出す必要がありますが、これは非常に非生産的な問題です。質問に追加してください。そして、実際にあなたは複数の問題を抱えています、あなたはまだ分かりません。私は[コレクションの紹介](https://docs.oracle.com/javase/tutorial/collections/intro/)をお読みになることをお勧めします – Paul

答えて

1

listscore(j)listscore(j+1)の代わりに、LinkedListsの値を取得するために必要なものは.get()です。したがって、listscore.get(j)listscore.get(j+1)を使用する必要があります。

+0

あなたはスターです!ありがとう! – Samuelf80

+0

私はあなたを助けることができてうれしい! @ Samuelf80正しいと答えて印をつけてください。 :D – paper1111

+0

ええ、私はしようとしたが、私はいくつかの時間を待たなければならなかったと私は完全に忘れてしまった! – Samuelf80

関連する問題