/****************************************
* バブルソートの考え方
* 2010/12/14
****************************************/
#include <stdio.h>
#define SIZE 5
int main(void)
{
int i, j, max, work;
int data[SIZE] = {2,5,3,4,1};
for(i = 0; i < SIZE; i++){
/* 最初、iは0なので配列dataの0番目と0番目以外を比較していく*/
for(j = i + 1; j < SIZE; j++){
if(data[i] > data[j]){ /* 添字が小さい方の要素が大きい場合 */
work = data[i]; /* 交換する場所の要素をバックアップ */
data[i] = data[j]; /* 大きい値を移す */
data[j] = work; /* 大きい値のあった場所にリストアする */
}
}
}
for(i = 0; i < SIZE; i ++ ) {
printf("%d ", data[i]);
}
return 0;
}
/******************************************
実際の配列内の動き
2 5 3 4 1
5 2 3 4 1
5 4 3 2 1
******************************************/
0 Comments.