Bubble Sort

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef ALGORITHM_BUBBLE_SORT_H
#define ALGORITHM_BUBBLE_SORT_H
/* バブルソート */
void bubble_sort (int *array, int array_size) {
int i, j;

// for (i = 0; i < array_size - 1; i++){
// for (j = array_size - 1; j >= i + 1; j--){ // 右から左に操作
// if (array[j] < array[j-1]) {
// swap(&array[j], &array[j-1]);
// }
// }
// printf("step %2d: ",i);
// print_array(array,array_size);
// }

for(i=0;i<array_size-1;i++){
for(j=0;j<array_size-1-i;j++){//左から右に操作
if(array[j]>array[j+1]){
swap(&array[j],&array[j+1]);
}
}
printf("step %2d: ",i+1);
print_array(array,array_size);
}
}
#endif //ALGORITHM_BUBBLE_SORT_H