其实这个跟普通的sort一样,只不过在重写cmp的时候,用字符串比较函数去处理
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#define MAX 100
using namespace std;
string node[MAX];
bool cmp(string a,string b)
{
if(a.length()==b.length())
return a.compare(b)<1;
return a.length()<b.length();
}
int main()
{
int i,num;
cin>>num;
for(i=0;i<num;i++)
cin>>node[i];
cout<<endl<<endl;
for(i=0;i<num;i++)
cout<<node[i]<<endl;
cout<<endl<<endl;
sort(node,node+num,cmp);
for(i=0;i<num;i++)
cout<<node[i]<<endl;
return 0;
}
字符串排序(sort)
最新推荐文章于 2024-07-30 21:23:52 发布