这个题目是一个很简单的字符串相连的题目。之前没有看清题目,所以提交的时候出现的错误!一个很简单的关于字符串排序的问题。
难点:
需要考虑到字符串连接之后因为串的长度不一所导致的大小不一问题,比如:b>ba, 但是bba > bab。也就是说,我们不能够直接用list.sort函数下面的排序规则。
// substring.cpp : Defines the entry point for the console application.
//
//# include"stdafx.h"
#include <iostream>
# include <list>
# include <string>
# include <vector>
using namespace std;
typedef list<string> LISTSTRING;
list<string>::iterator it_LIST;
vector<LISTSTRING> vec;
vector<LISTSTRING>::iterator it_VEC;
int main()
{
//cout << "qinqintudou" << endl;
bool compare(string a, string b);
// input the subString
int T,n;
cin >> T;
while (T--)
{
cin >> n;
LISTSTRING liststring;
while (n--)
{
string s;
cin >> s;
liststring.push_back(s);
}
// sort the list
liststring.sort(compare);
vec.push_back(liststring);
}
//output the string
for (it_VEC = vec.begin(); it_VEC != vec.end();it_VEC++)
{
LISTSTRING temp = *it_VEC;
for (it_LIST = temp.begin(); it_LIST != temp.end();
++it_LIST) {
cout << *it_LIST;
}
cout << endl;
}
return 0;
}
bool compare(string a, string b) {
return a + b < b + a;
}
来源:oschina
链接:https://my.oschina.net/u/2672525/blog/639787