タスク++
超高級言語ばかり触っている自分に苛立ったので、久しぶりに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要素のバイト数。こりゃ本格的に復習せんといかんかもな。