關於c++字串的 sort排序(字典序)
阿新 • • 發佈:2019-01-30
char:
#include<algorithm> #include<cstring> #include<cstdio> #define M 100000 #define len 22 using namespace std; char str[M][len]; int cmp1(const void *a,const void*b){ char *s1=(char *)a; char *s2=(char *)b; return strcmp(s1,s2); } int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%s",str[i]); qsort(str,n,sizeof(char)*len,cmp1); for() return 0; }
string:
#include<algorithm> #include<cstring> #include<cstdio> #include<iostream> #define M 100000 #define len 22 using namespace std; string str[1005]; int cmp(string a,string b) { return a.compare(b)<0; } int main() { int n; scanf("%d", &n); for (int i=0; i<n; i++) cin>>str[i]; sort(str, str+n, cmp); return 0; }
struct:
#include<algorithm> #include<cstring> #include<cstdio> #define M 100000 #define len 22 using namespace std; struct Word{ char str[len]; }word[M]; int cmp(Word a,Word b) { return strcmp(a.str, b.str)>0; } int main() { int n; scanf("%d", &n); for (int i=0; i<n; i++) scanf("%s", word[i].str); sort(word, word+n, cmp); return 0; }