8年前C++でソートアルゴリズムの速度を調べるプログラムを作成しようと思い、ソートごとにクラスを分けてプログラムを作ってテストしてみたのですが、シェルソートが正しく並べ変わらないです。ソート対象のデータ生成や交換の部分はほかのクラスで使っていて問題なかったのでおかしいのはこのクラスの中だけだと思います。どこがおかしいのか解答お願いします。8年前38行目でSeq[t]にアクセスしていますが、Seqは要素がt個のint配列なので、[t]にアクセスしちゃだめです。8年前mallocに失敗したとき、なにごともなかったかのように実行し続けるのはどうなのかな、と思います。指摘されたところと、自分で気づいた部分は修正してみました。・seq[t]だったところをswq[t-1]にした。data[h-Seq[i]]>data[h]);}}Sh_timer.timer_stop();Sh_etc.disp(data);Sh_timer.disp_timer();free(Seq);}これでほとんど正確にソートされたのですが、一番最後の配列だけ、間違ったソートになってしまいます。mallocに失敗したとき、なにごともなかったかのように実行し続けるのはどうなのかな、と思います。8年前すいません、自己解決しました。while文にしたら正しくソートされました。解答してくれた方、有難うございました。ミクプラは自由にリンクできます。