浙大数据结构案例7-1.1模拟Excel 排序

#include
#include
#include
typedef struct{char ID[6+1];char name[8+1];int grade;} Student;
int compareId(const void*a,const void *b)
{
    /*一般而言const struct Student *a=a??这个括号有意义吗*/
    return strcmp(((const Student*)a)->ID,((const  Student*)b)->ID);
}
int comparename(const void*a,const void *b)
{
    int k=strcmp(((const Student *)a)->name,((const Student*)b)->name);
    if(k==0)
        return strcmp(((const Student*)a)->ID,((const  Student*)b)->ID);
    else
        return k;
}
int comparegrade(const void*a,const void *b)
{
    
    int k=((const Student*)a)->grade-((const Student*)b)->grade;
    if(k!=0)
        return k;
    else
        return strcmp(((const Student*)a)->ID,((const  Student*)b)->ID);
}

int main()
{
    int N,C;
    scanf("%d %d",&N,&C);
    Student array[100000];
    for(int i=0;i

 

你可能感兴趣的:(浙大数据结构案例7-1.1模拟Excel 排序)