国名排序(SWUST的一次算法分析考试)

国名排序

问题描述:小李在准备明天的广交会,明天有来自世界各国的客房跟他们谈生意,小李要尽快的整理出名单给经理,你能帮他把客户来自的国家按英文字典次序排好吗?
例如小李手上有来自加拿大,美国,中国的名单,排好的名单应是美国,加拿大,中国。

输入

第1行为一个n(n<=100)表示n个国家,第2行到第n+1行分别为n个国家的名字。

输出

输出n个国家按字典顺序的排列。

样例输入

3
China
Canada
America

样例输出

America
Canada
China

分析

根据输出来看,是按照字母A到Z的顺序排序,如果第一个字母相同则比较单词的第二个字母的顺序。
当时突发奇想,能不能用sort函数来解决这个问题,于是产生了如下代码:

#include
#include
#include
using namespace std;
int main()
	{
		int n;
		cin>>n;
		string a[n];
		for(int i=0;i<n;i++)
		{
		 	cin>>a[i];
		}
			sort(a,a+n);
			for(int i=0;i<n;i++)
		{
			cout<<a[i];
			cout<<endl;
		}		
		return 0;
	}

总结

我还没找到网上用sort函数来解决这个问题的,不知道这样子对不对,
不过这样也可以成功ac,当然这就涉及到sort函数的用法啦,下次我再深入了解一下sort函数。
今天就到这里,下期深入了解时再来具体解释一下代码。

你可能感兴趣的:(学习)