sicily substring 1198

不问归期 提交于 2021-01-13 22:04:07

这个题目是一个很简单的字符串相连的题目。之前没有看清题目,所以提交的时候出现的错误!一个很简单的关于字符串排序的问题。

难点:

需要考虑到字符串连接之后因为串的长度不一所导致的大小不一问题,比如: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;
}



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!