1. 程式人生 > >將多個字串排序

將多個字串排序

#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;
}

本題就是冒泡思想的一個拓展,只要我們會氣泡排序就可以解決這個問題。