2017-09-22 5 views
-4

こんにちは私は、バブルソートのアルゴリズムをソートすることについて学び、アルゴリズムを読んだ後、私はこのコードを作った。しかし面白いことに、バブルソートの実際のコードとの類似点は見つけられません。だから、どのソートアルゴリズムを使っているのか教えてください。あなたが最小の要素を探していると位置iとそれを交換するため私はこのコードでどのソートアルゴリズムを使用していますか?

public class Sort { 

    void sortfun() { 
     int[] a= {14,33,27,35,10}; 
     for(int i=0;i<a.length;i++) { 
      for(int j=i+1;j<a.length;j++) { 
       if(a[i]>a[j]) { 
        int temp=a[i]; 
        a[i]=a[j]; 
        a[j]=temp; 
       } 
      } 
     } 

     for(int i : a) { 
      System.out.println(i); 
     } 
    } 

public static void main(String[] args) { 

    Sort bs=new Sort(); 
    bs.sortfun(); 

} 

} 
+11

ここでは、「私がやろうとしていることを推測する」という質問は一度もありませんでした。通常は別の方法です:) –

+1

あなたはあまりエレガントなバブルソートの実装を書いていません。 – OptimusCrime

+1

まあ、実際には、私がやろうとしていることはかなりよくあります。 – luk2302

答えて

1

あなたはSelection Sortを使用しています。

+0

i + nが小さい場合、彼はちょうどiとi + nを交換しています – Aldeguer

+0

実際これは真です。位置「i」はピボット位置としてカウントされ、「j」はそこに配置できる最小の要素を探します。ほとんどの実装よりも多くのスワップが行われているので、これは真実です – apokryfos

1

私はそれがSelectionSortだと思います。
それは、少なくともそれに非常に似ています。
このウェブサイトで質問することについてはthisの記事を読んでください。私はあなたがそれを読んで、どのように尋ねるべきかわからないので、
また、一般的には、いくつかの並べ替えやアルゴリズムのために、私は次のソースをチェックするためにあなたをお勧めします:

0

無効sortfun(のためにこのコードを試してみてください)

{ 
    int[] a= {14,33,27,35,10}; 

     for(int i=0;i<a.length;i++) { 
     for(int j=0;j<a.length;j++) { 
      if(a[i]>a[j]) { 
       int temp=a[i]; 
       a[i]=a[j]; 
       a[j]=temp; 
      } 
     } 
    } 
関連する問題