配列 x[10] に入っている数値をソートするプログラムで、
for ( i = 1 ; i < 10 ; i + + )
for ( j = 0 ; j < i ; j + + )
if ( x [ i ] < x [ j ] ) { tmp = x [ i ] ; x [ i ] = x [ j ] ; x [ j ] = tmp ; }
このソート法は世間一般に何と呼ばれているソート法なのでしょう?
「バブルソート」で合ってますか?
このソートは?
Re:このソートは?
交換ソートかな。
バブルソートはこんな感じです。
for(i = 0; i < 10; i ++)
for(j = 0; j < 9 - i; j ++)
if(x[j] < x[j + 1]){tmp = x[j] ; x[j] = x[j + 1] ; x[j + 1] = tmp ;}
バブルソートには「単純交換ソート」という別名がありますが、
"単純"というのはつまり、ある要素とその隣の要素(上の例ではx[j]とx[j+1])のみを比較する、ということです。
これは隣の要素ではなくて、無関係な要素とも比較してますから単純交換ソートではないですね。
バブルソートはこんな感じです。
for(i = 0; i < 10; i ++)
for(j = 0; j < 9 - i; j ++)
if(x[j] < x[j + 1]){tmp = x[j] ; x[j] = x[j + 1] ; x[j + 1] = tmp ;}
バブルソートには「単純交換ソート」という別名がありますが、
"単純"というのはつまり、ある要素とその隣の要素(上の例ではx[j]とx[j+1])のみを比較する、ということです。
これは隣の要素ではなくて、無関係な要素とも比較してますから単純交換ソートではないですね。