//給一組字符串,需要你輸出最小長度的字符串與最大長度的字符串,如果有相同最小(大)長度的,就按照給的順序挨個輸出。
//例如:qwert asdfg sdf erd jkjkljsldfwr dfdf//
//就輸出sdf erd jkjkljsldfwr
<span style="font-family: Arial, Helvetica, sans-serif;">#include <string></span>
#include<algorithm>
#include <iostream>
#include<vector>
using namespace std;
vector<string>vec_String;
vector<string>::iterator it;
bool compare_Fun(string a,string b)
{
return a.length()<b.length();
}
int _tmain(int argc, _TCHAR* argv[])
{
int string_Num;
string input_String;
int short_Strlength;
int long_Strlength;
cin>>string_Num;
for(int i=0;i<string_Num;i++)
{
cin>>input_String;
vec_String.push_back(input_String);
}
sort(vec_String.begin(),vec_String.end(),compare_Fun);
for(it=vec_String.begin();it<vec_String.end();it++)
cout<<*it<<"--->";
//第一個和最後一個的長度就是最大和最小的長度
//再次循環長度一致,輸出
short_Strlength=vec_String.at(0).length();
long_Strlength=vec_String.at(vec_String.size()-1).length();
for(it=vec_String.begin();it!=vec_String.end();it++)
{
if((*it).length()==short_Strlength)
cout<<*it<<" ";
else if((*it).length()==long_Strlength)
cout<<*it<<" ";
}
//cout<<"最短的"<<vec_String.at(0)<<"最長的"<<vec_String.at(vec_String.size()-1)<<endl;
vec_String.clear();//另一個想法是每次循環時候定義一個vector,結束後析構掉;
system("pause");
return 0;
}