冒泡排序:每次对相邻的两个元素进行比较,若前者大于后者则交换,如此一趟下来最后一个则是最大的一个元素;重复以上步骤,除了已经确定位置的元素。
#include <stdio.h>
#include <string.h>
void bubble_sort_str(char *str[],int sz)
{
int i = 0;
int j = 0;
for (i = 0; i < sz - 1; i++)
{
for (j = 0; j < sz - 1 - i; j++)
{
if (strcmp(*(str + j), *(str + j + 1))>0)
{
char *tmp = *(str+j);
*(str + j) = *(str + j + 1);
*(str + j + 1) = tmp;
}
}
}
}
int main()
{
int i = 0;
char *str[] = { "cccc", "bbbb", "dddd", "aaaa" };
bubble_sort_str(str,sizeof(str)/sizeof(*str));
for (i = 0; i < sizeof(str) / sizeof(*str); i++)
{
printf("%s ", *(str+i));
}
printf("\n");
system("pause");
return 0;
}