您的位置:首页 > 其它

冒泡排序字符串

2018-03-09 15:07 63 查看
用冒泡排序可以排序任意数据类型,这次用冒泡排序排序字符串。

思路与一般的冒泡排序思路是大致相同的。

注意的点:

第一:比较字符串大小时不能用<>=,应该用strcmp函数比较

第二:交换字符串,应该先创建一个足够大的临时空间,使用strcpy函数进行拷贝达到交换的目的。

第三:我考虑将多个字符串放入二维数组中。

代码:

#include <stdio.h>
#include <string.h>
void Swap(char *px,char  *py)
{
char tmp[32]={};
strcpy(tmp,px);
strcpy(px,py);
strcpy(py,tmp);
}
int main()
{
char arr[][32]={ {"hello"},
{"world"},
{"bit"} };
int i=0,j=0;
int flag=0;
int len=sizeof(arr)/sizeof(arr[0]);
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1;j++)
{
if(strcmp(arr[j],arr[j+1])>0)
Swap(arr[j],arr[j+1]);
flag=1;
}
if(flag==0)
break;
}
for(i=0;i<len;i++)
{
printf("%s\n",arr[i]);
}
return 0;
}


此处比较的字符串大小,默认是先比较字符的ascii码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: