原理和冒泡排序一样,不过字符串以及字符的比较大小要用到strcmp函数
void BubbleString(char* str[],int len)
{
int i = 0,j = 0;
for (i = 0; i < len; i++)
{
int flag = 0;
for (j = i + 1; j < len; j++)
{
if (strcmp(*(str + i), *(str + j)) > 0)
{
char* tmp = *(str + i);
*(str + i) = *(str + j);
*(str + j) = tmp;
flag = 1;
}
}
if (0 == flag)
break;
}
}
int main()
{
char *str[] = { "bc", "db", "ac", "ab" ,"bd","ca","cd","da"};
int i = 0;
int len = sizeof(str) / sizeof(str[0]);
BubbleString(str,len);
for (i = 0; i < len; i++)
{
printf("%s ", *(str + i));
}
printf("\n");
}