对字符串字典序排序
#include <bits/stdc++.h>
using namespace std;
char ch[1001][5];
struct stu
{
string str;
}stu[1005];
bool cmp(struct stu a,struct stu b)
{
return a.str < b.str;
}
int main()
{
for(int i = 0;i < 1000;i ++)
{
stu[i].str = to_string(i+1);
}
sort(stu,stu+1000,cmp);
for(int i = 0;i < 1000;i ++)
{
cout << stu[i].str << endl;
}
return 0;
}
对字符串先长度排序,之后同长度内排序
#include <bits/stdc++.h>
using namespace std;
char ch[1001][5];
char* pch[1001];
bool cmp(char* a,char* b)
{
if(strcmp(a,b) < 0) return true;
return false;
}
int main()
{
for(int i = 0;i < 1000;i ++)
{
sprintf(ch[i],"%d",i + 1);
pch[i] = ch[i];
}
sort(pch,pch+1000,cmp);
for(int i = 0;i < 1000;i ++)
{
cout << ch[i] << endl;
}
return 0;
}