各種OI測評系統中經常出現對字符串進行排序的題,以前我不太會字符串快排,結果都是用字典樹的遍歷進行的,現在終於會用qsort函數了,再次分享:
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
int cmp(const void *a, const void *b) {
return strcmp((*(string*)a).data(),(*(string*)b).data());
}
string s[103];
int n;
int main()
{
freopen("letter.in", "r", stdin);
freopen("letter.out", "w", stdout);
cin >> n;
for(int i=0; i<=n; i++)
getline(cin, s[i]);
qsort(s+1, n+1, sizeof(string), cmp);
for(int i=2; i<=n+1; i++)
printf("%s\n", s[i].c_str());
return 0;
}