昇順で表示。
降順は、b < dにする
---------------------------------
#include
#define MAX_SIZE 27
void charsort(char c[], int max_size){
int i, j;
char dummy;
int b, d;
for(i = 0; i < max_size - 1; i++){
for(j = i + 1; j < max_size; j++){
b = (int)c[i];
d = (int)c[j];
if(b > d){
dummy = c[j];
c[j] = c[i];
c[i] = dummy;
}
}
}
}
int main(void){
char c[MAX_SIZE] = {'k', 'o', 'e', 'i', 'b', 'n', 'f', 'h', 'w',
'a', 'z', 'm', 'c', 'j', 's', 'r', 'g', 'y',
'v', 'd', 'l', 'p', 'q', 't', 'u', 'x'
};
int i;
printf("ソート前\n");
for(i = 0; i < MAX_SIZE; i++){
printf("%c", c[i]);
}
charsort(c, MAX_SIZE);
printf("\nソート後\n");
for(i = 0; i < MAX_SIZE; i++){
printf("%c", c[i]);
}
return 0;
}
結果
ソート前
koeibnfhwazmcjsrgyvdlpqtux
ソート後
abcdefghijklmnopqrstuvwxyz