将多个字符串排序

#include<stdio.h>
#include<string.h>

int main()
{
	char *str[] = { "hello", "world", "lets", "go" };
	int i = 0;
	int j = 0;
	int flag = 0;
	int sz = sizeof(str) / sizeof(str[0]);
	int *tmp = NULL;
	printf("排序之前的字符串为:");
	for (i = 0; i < sz; i++)
	{
		printf("%s ", str[i]);
	}
		for (i = 0; i < sz - 1; i++)
		{

			for (j = 0; j < sz - 1 - i; j++)
			{
				if (str[j]>str[j + 1])
				{
					tmp = str[j];
					str[j] = str[j + 1];
					str[j + 1] = tmp;
					flag = 0;
				}
			}
		}
	printf("\n排序之后的字符串为:");
	for (i = 0; i < sz; i++)
	{
		printf("%s ", str[i]);
	}
	printf("\n");
	return 0;
}

本题就是冒泡思想的一个拓展,只要我们会冒泡排序就可以解决这个问题。


猜你喜欢

转载自blog.csdn.net/cherrydreamsover/article/details/80026098