アルゴリズムの一つであるバブルソートを使った課題があったので、記録用にバブルソートの基本をメモしておきます。
この例は、[3,5,1,8,7]という数字のリスト(ここではnumbers)を昇降順、降下順に並び替えるものです。
bubblesort.c
#include <stdio.h>
int main(void){
int a,b,c;
int numbers[5] = {3,5,1,8,7};
for(a = 0; a < 5; a++ ){
for(b = a + 1; b < 5; b++ ){
if (numbers[a] > numbers[b]){ //降順はif (numbers[a] < numbers[b])
c = numbers[a];
numbers[a] = numbers[b];
numbers[b] = c;
}
}
}
for (a = 0 ; a < 5 ; a++)//並べ替えられたものを出力
{
printf("%d ", numbers[a]);
}
return 0;
}
結果(昇降順)
1 3 5 7 8 %