1
このプログラムはbubble logic.itの別の方法として書きました。うまくいきました。それは本当にバブルロジックプログラムかどうかです私はバブルソートのためのこのcプログラムを書いた。それは良いですが、それは本当にバブル並べ替えロジックですか?
#include <conio.h>
#include <stdio.h>
int main()
{
int data[5], i, steps, temp, j, k;
int n = 5;
for (i = 0; i < n; ++i) {
printf("%d. Enter element: ", i + 1);
scanf("%d", &data[i]);
}
for (k = 0; k < n; k++) {
for (j = 0; j < n; j++) {
for (steps = 0 + j; steps <= j; steps++) {
printf("%d\n\n", steps);
if (data[steps] > data[steps + 1]) {
temp = data[steps];
data[steps] = data[steps + 1];
data[steps + 1] = temp;
}
}
}
}
printf("In ascending order: ");
for (i = 0; i < n; ++i) printf("%d ", data[i]);
getch();
}
アイデア?
いいえ、これはバブルソートではありません。通常のバブルソートは、各パスの前に「ソート済み」フラグをtrueに設定し、スワップを行う場合はfalseに設定し、リストがまだソートされていない場合にのみ次のパスに進みます。 O(n)ベストケース、O(n^2)平均。ここでの実装は、すべてのケースでO(n **^3 **)です。 – Ryan
'data [steps + 1]'が境界外で発生する可能性があります。 – BLUEPIXY
私はあなたの答えが@ライアン私はcに新しいですなかった。私はあなたが話している言葉を知らない。しかし、あなたの努力に感謝します。 :) – Harsh