游客 Signup | Login
中文 | En

1616 - 姓名排序

存储一组姓名,如Apple,Tom,Green,Jack 要求按照字典序排序并显示。

Input

输入第一行为样例数m,对于每个样例,第一行为人数n,接下来有n个姓名,n不超过10,每个名字长度不超过20。

Output

对于每个样例输出排序后的结果,每行一个姓名。

Examples

Input

1
4
Apple
Tom
Green
Jack 

Output

Apple
Green
Jack
Tom

Solution C

#include <stdio.h>
#include <string.h>
void main()
{
	int m,n,i,j;
	char name[100][100];
	char temp[100];
	scanf("%d",&m);
	while (m--)
	{
		scanf("%d",&n);
		for(i=0;i<n;i++)
			scanf("%s",&name[i]);
		
    	for(i=0;i<n;i++)
		{
			for(j=0;j<n-i-1;j++)
				if(strcmp(name[j],name[j+1])>0)
				{
					strcpy(temp,name[j]);
					strcpy(name[j],name[j+1]);
					strcpy(name[j+1],temp);
				}
		}
		for (i=0;i<n;i++)
			printf("%s\n",name[i]);
	}
}

Solution C++

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cstdio>
using namespace std;

int main()
{
    //freopen("test.in", "r", stdin);
    //freopen("test.out", "w", stdout);
    int t;
    cin >> t;
    while (t--) {
        int n;
        vector<string> v_string;
        string s;
        cin >> n;
        while(n--) {
            cin >> s;
            v_string.push_back(s);
        }
        sort(v_string.begin(),v_string.end());
        for(int i=0; i<v_string.size(); i++)
            cout<<v_string[i]<<endl;
    }
    return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题