タスク++

高級言語ばかり触っている自分に苛立ったので、久しぶりにC言語を使って「クイックソート」を実装してみます。単なる思いつき。
課題は11.クイックソート | TECHSCORE(テックスコア)
全部やってる時間は無いので、バブルソートクイックソートだけ作って時間を計測してみましょうか。
・・・30分経過

バブルソートってこんなんだっけ?

#include <stdio.h>
int main(void){
  int value[] = {99,3,6,7,9,40,3,2,5,6,1,10,0};
  int size= sizeof(value) / sizeof(value[0]);
  int i,j,hozon;
  for( i=0 ; i < size - 1 ; i++){
    for( j = i+1 ; j < size ; j++){
      if( value[i] > value[j] ){
        hozon = value[i];
        value[i] = value[j];
        value[j] = hozon;
      }
    }
  }
  for( i=0 ; i < size ; i++ ){
    printf( "%d " , value[i] );
  }
  printf("\n");
}
-> gcc -o bubble.bin bubble.c 
-> ./bubble.bin 
0 1 2 3 3 5 6 6 7 9 10 40 99 

時間がかかったのはC言語での配列の要素数の取得方法を忘れてたから。length()なんて便利なもんは無いんですね。sizeof()で得られる型のバイト数を使用して、配列のバイト数 / 1要素のバイト数。こりゃ本格的に復習せんといかんかもな。