バブルソート

昇順で並べ替える

int array[] = {3, 6, 1, 9, 7, 2};

// バブルソート(昇順)
for (int i = 0; i < len(array); i++) {
    for (int j = 0; j < len(array) - i - 1; j++) {
        if (array[j] > array[j + 1]) 
        {
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }
    }
}

// ソート後の結果
printf('Sorted Array: ' + sprintf('%g', array) + '\n');
// Sorted Array: {1, 2, 3, 6, 7, 9}

降順で並べ替える

int array[] = {3, 6, 1, 9, 7, 2};

// バブルソート(降順)
for (int i = 0; i < len(array); i++) {
    for (int j = 0; j < len(array) - i - 1; j++) {
        if (array[j] < array[j + 1])
        {
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }
    }
}

// ソート後の結果
printf('Sorted Array: ' + sprintf('%g', array) + '\n');
// Sorted Array: {9, 7, 6, 3, 2, 1}

昇順との違いは、比較演算子を “<” に変更している。

タイトルとURLをコピーしました