对字符串进行冒泡排序

对字符串序列进行冒泡排序和对数组进行冒泡排序原理相同,
但有以下两处需要用到字符串的知识。

1.需要创建二维字符数组,以存储与处理多个字符串。

char a[3][10]; //定义了一个3行10列的二维字符数组a

即可以存储3个字符串,每个字符串长度最多为十个字符。
a[0],即为第零行的首地址。

2.需使用string.h头文件中的strcmp,strcpy函数进行字符串的比较与复制。

strcmp函数对字符串大小进行比较。
strcpy可以复制字符串中的内容,粘贴到另一字符串。

其余与数组冒泡排序基本一致。

字符串的冒泡排序

#include
#include

int main()
{
	int n;
	scanf("%d",&n);
	char a[n][11],b[11];
	for (int i = 0; i < n ; i++)
	{
		scanf("%s",a[i]);
	}
	for (int i = 0 ; i < n - 1  ; i++)
	{
		for (int j = 0; j < n - i -1 ; j++)
		{
			if(strcmp(a[j],a[j+1]) > 0)
			{
				strcpy(b,a[j]);
				strcpy(a[j],a[j+1]);
				strcpy(a[j+1],b);
			}
		}	
	}
	for (int i = 0; i < n; i++)
	{
		printf("%s\n",a[i]);
	}
	
return 0;
}

如此便实现了对字符串的排序。

你可能感兴趣的:(对字符串进行冒泡排序)