1. 程式人生 > >關於c++字串的 sort排序(字典序)

關於c++字串的 sort排序(字典序)

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;
}