指定した要素をソート済みリストの正しい位置に挿入するメソッドを作成していますが、同じ要素を何回か挿入することができます。私のメソッドは要素を挿入せず、なぜそれが正しい位置にすべての要素を挿入しないのか分かりません!これは私のコードですソート済みノードに挿入する
-1
A
答えて
0
current
がnullの場合にのみ新しい項目を挿入したようです。しかし、見た目に近い上記のループでは、ループは終了し、current
できるがnullでない場合(最初の場合)
first if
がtrueの場合、あなたがしている場合はその項目がlinked list
0
else{ //insert into sorted list
Node d=new Node(element);
Node current = head;
Node pre=null;
while(current!=null){
if(c.compare(current.item, element)>0){
break;
}
else{
pre=current;
current=current.next;
}
}
if(current == null && pre!=null){ //insert new tail
pre.next=d;
tail=d;
d.pre=pre;
size++;
return this;
}
else { //insert when compare is successful and node not at tail.
d.pre = pre;
pre.next = d;
current.pre = d;
d.next = current;
return this;
}
}
+0
私は返答文を入れるために私の答えを編集しましたが、 –
0
に取得していません複数の要素を持つことができるソートされたリストを作成する方法をお探しの場合は、クラスを作成してクラスを作成し、必要な操作を実装することをお勧めしたいと思います。最初にリストをソートする場合は、Collections.sort()
を参照してください。その後、リストを挿入または削除するたびに、バイナリ検索を実行して正しい場所を見つけることができます。
もう一つのアイデアは、あなただけではなく、SortedSet<Multiplicity<E>>
、代わり代わりに、あなたはインクリメントまたはカウンタをデクリメント、すでにそこまたは削除一つだ要素を挿入するのに使用でき、そのクラス
public class Multiplicity<E> {
private E value;
private int numberOfDuplicates;
// etc. etc.
を作成することです。
関連する問題
- 1. ソート済みリストの挿入ソートアルゴリズム
- 2. ソート済みのオブジェクトをマップに挿入する方法
- 3. 削除済みと挿入済みの各列のSQL
- 4. ソート済みのバージョン
- 5. ソート済みのファイルルビー
- 6. カラーキーでソート済み
- 7. Javaのテスト済みクラスにメソッドを挿入するには?
- 8. ソート済みノードの次の兄弟の選択
- 9. CoreDataソート済みエンティティ - パフォーマンス
- 10. CNTK 2のソート済みミニバッチソース
- 11. ポリマーdom-repeatソート済みイベント
- 12. 挿入ソート
- 13. Java挿入ソート
- 14. Cでソートされたリンクリストにノードを挿入
- 15. 定義済みリストに基づくソート
- 16. 実行時にJavacodeをデプロイ済み(Vaadin-)アプリケーションに挿入
- 17. 挿入ソート - アルゴリズムにALGOS
- 18. ゴランの挿入ソート
- 19. リンクリストcstring挿入ソート
- 20. 挿入ソートのClojure
- 21. ソートされたリンクリストにノードを挿入する時間の複雑さ
- 22. ソートされたサブリストをソート済みスーパーリストにマージ
- 23. バインド時にソートされたソート済みリスト
- 24. 挿入されたノードの後にキャレットを挿入する
- 25. BSTにノードを挿入
- 26. リンクリストにノードを挿入する
- 27. 結合テーブルに挿入するmysqlノード
- 28. ノードを二重リンクリストに挿入する
- 29. XmlNode内にノードを挿入する
- 30. ソート済みセットのRedis CPUパフォーマンス
コードを字下げして正しい形式で貼り付けてください。 –