/****************************
选择排序:
取一字符数组进行排序
****************************/
#include <stdio.h>
#include <string.h>
#define MAXSIZE 100
//输出数组
void Print(char *ch)
{
int i;
for(i = 0; i < strlen(ch); i++)
{
printf("%c",ch[i]);
}
printf("\n");
}
//交换数据
void Swap(char *ch1,char *ch2)
{
char tmp;
tmp = *ch1;
*ch1 = *ch2;
*ch2 = tmp;
}
//选择排序
void Select_sort(char *ch)
{
int i,j;
int min;
for(i = 0; i < strlen(ch); i++)
{
min = i;
for(j = i+1; j < strlen(ch); j++)
{
if(ch[min] > ch[j])
min = j;
}
if(min != i)
{
Swap((ch+min),(ch+i));
printf("%c\n",ch[i]);
}
}
}
int main()
{
//输入要进行排序的数组
char ch[MAXSIZE] = {0};
printf("please input data: \n");
scanf("%s",ch);
Select_sort(ch);
Print(ch);
return 0;
}