Oj练习:后缀子串排序(sort函数)


Oj练习:后缀子串排序(sort函数)

Description
对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain
rain
ain
in
n
然后对各子串按字典顺序排序,即:
Sample Input
grain
banana
Sample Output
ain
grain
in
n
rain
a
ana
anana
banana
na
nana

这题可以用sort函数来解,头文件为 # include< algorithm >

/*
*  sort函数 (带三个参数) 
*  @author hy by 2019_04_16
*/

#include
#include
#include
using namespace std;

bool cmp(string s1,string s2){
	 return  s1 < s2;             
}

int main (){

	int i,j;
	char in_str[1000];
	string out_str[1000];
	
	while(cin>>in_str){ 
		int len=strlen(in_str);
		for(i=0;i<len;i++){
			string c_str="";  
			for(j=i;j<len;j++)c_str+=in_str[j];
			out_str[i]=c_str;		
		}
		
		sort(out_str.begin(),out_str.end(),cmp);
		for(i=0;i<len;i++){
			cout<<out_str[i]<<endl;
		}
	
	}
    return 0; 
}

你可能感兴趣的:(Oj练习:后缀子串排序(sort函数))