#include <stdio.h>
#include <stdlib.h>
// 思路:从第一个元素开始,以后的每个元素比较,找出最小的与第一个元素交换,然后在从第二个开始,依次下去
void selectSort(char * arr, int size)
{
int i,j,pos;
char temp;
for (i = 0; i < size; ++i)
{
/* code */
pos = i;//定位要比较元素的下标
temp = arr[pos];//定位要比较的元素
//找出比定位小的元素和下标
for ( j = i + 1; j < size; ++j)
{
/* code */
if (arr[j] < temp)
{
/* code */
pos = j;
temp = arr[j];
}
}
//交换
arr[pos] = arr[i];
arr[i] = temp;
}
printf("%s\n",arr);
}
int main(int argc, char const *argv[])
{
/* code */
char arr[] = "abcdufsdoc";
selectSort(arr,(size_t)strlen(arr));
return 0;
}
选择排序
最新推荐文章于 2024-03-22 17:14:14 发布