选择排序:每一次从未排序中选择最值,并依次存放。
#include<stdio.h>
//选择排序
void SelectSort(char buf[30],int ilen)
{
//每一次从排序中选择最值 从小到大
int i,j,listen;
for(i=0;buf[i]!='\0';i++)
{
//从i-'\0'选择最值——监哨值法
listen=i;
for(j=i+1;buf[j]!='\0';j++)
{
if(buf[listen]>buf[j])
{
listen=j;
}
}
if(i!=listen)
{
buf[i]+=buf[listen];
buf[listen]=buf[i]-buf[listen];
buf[i]-=buf[listen];
}
}
}
void main()
{
char buf[30]="asvdewds";
SelectSort(buf,30);
printf("%s\n",buf);
}