c-泡立ち/選択ソート.
7875 ワード
1 #include <stdio.h>
2
3 #define LEN 10
4 #define TRUE 1
5 #define FALSE 0
6
7 /*
8 10
9 */
10 // ( , , , , ).
11 void
12 select_sort(int *a) {
13 int tmp; // .
14 for(int i = 0; i < LEN - 1; i++) {
15 for(int j = i + 1; j < LEN; j++) {
16 if(a[i] > a[j]) {
17 tmp = a[i];
18 a[i] = a[j];
19 a[j] = tmp;
20 }
21 }
22 }
23 }
24
25 // .
26 void
27 bubble_sort(int *a) {
28 int tmp;
29 int swap; // , , .
30 for(int i = 0; i < LEN -1; i++) {
31 swap = FALSE;
32 for(int j = 0; j < LEN - 1 - i; j++) {
33 if(a[j] > a[j + 1]) {
34 tmp = a[j];
35 a[j] = a[j + 1];
36 a[j + 1] = tmp;
37 swap = TRUE;
38 }
39 }
40 if(!swap) // , .
41 break;
42 }
43 }
44
45 void
46 show(int *a) {
47 for(int i = 0; i < LEN; i++)
48 printf("%d ", a[i]);
49 printf("
");
50 }
51 int
52 main(void) {
53 //10 .
54 int a[] = {-1, -7, 8, 2, 7, 321, 3, 9, 11, 17};
55 show(a);
56 select_sort(a);
57 //bubble_sort(a);
58 show(a);
59 printf("
");
60 }