/* * 単純選択法によるソート * DACCHO wrote this sample program. */ #include #include #include void output_array(int *ptr, int n); void selection_sort(int *ptr, int n); void swap(int *ptr1, int *ptr2); int main(void) { int a[20]; int i; srand((unsigned)time(NULL)); for(i=0; i<20 ; i++) a[i] =rand() %100; printf("*** 単純選択法によるソート ***\n"); printf("ソート前のデータの並び\n"); output_array(a, 20); printf("Press Enter Key\n"); getchar(); printf("ソート後のデータの並び\n"); selection_sort(a, 20); output_array(a, 20); printf("Press Enter Key\n"); getchar(); return 0; } void output_array(int *ptr, int n) { int i; for(i=0; i」から「<」へ変更すると降順になります */ if(*(ptr+k) > *(ptr+j)){ k = j; } } swap((ptr+i), (ptr+k)); } } void swap(int *ptr1, int *ptr2) { int w; w = *ptr1; *ptr1 = *ptr2; *ptr2 = w; }