2012-01-31 14 views
-1

こんにちは、私は次のバブルソートアルゴリズム(別のサイトから取得した汎用コード)を持っています。ソートされます。例えば、私がそれを実行し、配列を並べ替えると、各要素の隣には番号1があるはずです。これは私が使っている多くのソートアルゴリズムの中で最初のものです。だから、証明するために:あなたが見ることができるようにそれがアルゴリズムでソートされているように、番号1は、配列の各要素に挿入されているJavaのバブルソートアルゴリズムの配列の要素の横に値を追加する方法

4 1 
27 1 
54 1 
321 1 
542 1 
654 1 
887 1 
1023 1 

: ソート後の私の結果は次のようになります。誰かがこれで私を助けることができますか?あなたは、印刷に次のないソートした後

public static <E extends Comparable<? super E>> void bubbleSort(E[] comparable) { 
    boolean changed = false; 
    do { 
     changed = false; 
     for (int a = 0; a < comparable.length - 1; a++) { 
      if (comparable[a].compareTo(comparable[a + 1]) > 0) { 
       E tmp = comparable[a]; 
       comparable[a] = comparable[a + 1]; 
       comparable[a + 1] = tmp; 
       changed = true; 
      } 
     } 
    } while (changed); 
} 
+0

あなただけの各要素をプリントアウト数「1」をしたいですか? – shiraz

+0

はい、それはちょっとばかだと思うかもしれませんが、私が必要とするものはすべてです。しかし、それ以前にではなく、ソートされた各要素に追加する必要があります。 – Matt9Atkins

+1

ここに与えられたアニメーション:http://en.wikipedia.org/wiki/Bubble_sortはバブルの内部で何が起こっているのかを理解するのに嬉しいです – shiraz

答えて

1

:ソートアルゴリズム

for (int i = 0 ; i < comparable.length ; i++){ 
    System.out.println(comparable[i] + " 1"); 
} 
+0

とにかく、ソート中に実際に追加するにはどうしますか? – Matt9Atkins

+1

私は本当に「ソート中」とはどういう意味ですか?バブルソートは、一般にすべての数値が適切な場所にバブリングされる前に、何度も配列をたどります。いつあなたはそれが起こりたいですか?数字が最終的な場所にあるときは?あなたの表現が文字列 – shiraz

+0

への変換を基本的に望んでいると思われます。それぞれの比較が行われ、要素が最終的にその場所を見つけたら、その要素の横に番号1を付けたいと思います。 – Matt9Atkins

関連する問題