45122


C言語でポインタで定義した値を昇順に並べ替えたいので，バブルソートの関数を作成しています．  
現状では，下記の関数を作成しましたが，ポインタの書き換えができていないためか元の値とは関係ない数値(0.00，-737.05，67662660000000000.00など)が出力されます．

やりたいことは「 **一つのポインタで定義している全ての値を昇順に並べ替える** 」ということなので，  
下記コードやバブルソートと異なる方法でも結構です．  
ご教授頂けますでしょうか．

[code]

     void BubbleSort(int N,float *data)     //N：データ数， *data：並べ替えたいデータ(グローバル変数)
    {
        int i,j;
        float temp;
    
        for(i=0; i<N-1; i++) {                 //データを最初から見ていく
            for(j=N-1; j>i; j--) {             //データを最後から見ていく
                if(*(data+j) < *(data+j-1)) {  //大きい値を見つけたら
                    temp = *(data+j);          //データを入れ替える
                    *(data+j) = *(data+j-1);   //       ↓
                    *(data+j-1) = temp;        //       ↓
                }
            }
        }
    }
    
[/code]


CC BY-SA 4.0
2018-06-28T08:42:48.033
45121
2018-06-28T09:12:44.013
29059
question
c アルゴリズム array ポインタ
ポインタの値をバブルソートで並べ替えたい


ソートそのものは質問文のコードで正しいです。ソート結果の値の確認方法に問題があるのだと思います。


CC BY-SA 4.0
2018-06-28T09:12:44.013
45122
2018-06-28T09:12:44.013
4236
45121
answer