08/01/28 11:26:39
>>702 ありきたりで申し訳ないが
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
#define SWAP(type, x, y) do{type tmp = x; x = y; y = tmp;}while(0)
// バブルソート
void bsort(int *a, int n){
int i, j;
for(i = 0; i < n - 1; i++)
for(j = i + 1; j < n; j++)
if(a[i] > a[j])
SWAP(int, a[i], a[j]);
}
// 選択ソート
void ssort(int *a, int n){
int i, j, min;
for(i = 0; i < n - 1; i++){
min = i;
for(j = i + 1; j < n; j++) if(a[min] > a[j]) min = j;
SWAP(int, a[i], a[min]);
}
}
int main(void){
int i, a[N];
srand((unsigned)time(NULL));
for(i = 0; i < N; i++) a[i] = rand()%100;
for(i = 0; i < N; i++) printf("%4d", a[i]);
printf("\n");
bsort(a, N); // ssort(a, N);
for(i = 0; i < N; i++) printf("%4d", a[i]);
}