今日(2020/06/20)からアルゴリズムを勉強していこうと思う。選ばれたのはC言語です。理由は単純で今勉強中だから。メモ用として使っていくので詳しい解説はしない(というか知識がないからできない)。よく参考書にあるような数字の計算から始めるわけではないのでそこは理解していただきたい。では早速やっていこう。
環境構築に関しては以下の記事を参考にして構築した。(Windows)
※Macはわかりませんので各自で調べてください。
https://webkaru.net/clang/mingw-gcc-environments/
使用している書籍:C言語によるはじめてのアルゴリズム入門
著者:河西朝雄
※明日(07/03)は予定が立て込んでいるので投稿できるかわからないです。
#バブルソート
代表的なソートの一つ。調べたらたくさん出てくるはず。
bubble.c
#include <stdio.h>
int main(void){
static int array[] = {30,50,10,20,40};
int i,j,t,n=5;
for(i=0;i<n;i++){
for(j=n-1;j>i;j--){
if(array[j]<array[j-1]){
t = array[j-1];
array[j-1] = array[j];
array[j] = t;
}
}
}
for(i=0;i<n;i++){
printf("%d\n",array[i]);
}
}
#出力結果
10
20
30
40
50
#まとめ
ソートを初めて勉強したときに大切だと思ったのは値を一時的に変数に代入しておくこと。基本かもしれないがプログラミングにはまったきっかけでもある。うまく言えないけどなんかかっこよくない?笑