¿Quién sabe cómo ordenar palabras clave dobles en lenguaje C? Entra y echa un vistazo.
# include & ltstdio.h & gt
typedef struct _student {
int ID, Clase
} estudiante;
//El primer método debe llamarse dos veces.
void Sort_1 (estudiante * s, int recuento, int campo) {
int i, j, k
estudiante tmp, *c =; (estudiante *)((int *)s+campo);
for(I = 0;i<count-1;i++) {
for(k = I, j = I +1;j<count;j++)
if (*(int *)(c+k)>*(int *)(c+j))k =
Si (k!=i)
tmp = s[k], s[k] = s[I], s[I] = tmp;
}
}
//El segundo método es ordenar directamente dos veces.
void sort (estudiante *s, int recuento) {
int i, j, k
Estudiante tmp
for( I = 0;i<count-1;i++) {
for(k=I, j=I+1;j<count;j++)
if (s [k]. ID & gts [j]. ID) k = j;
Si (k!=i)
tmp = s[k], s[k]= s[I], s [I]=tmp;
}
for(I = 0;i<count-1;i++) {
for (k = I, j = I +1; j & lt cuenta; j++)
if (s[k]. Clase & gts[j]. clase) k = j;
If (k!=i )
tmp = s[k], s[k] = s[I], s[I] = tmp;
}
} p>
int main() {
int I;
Estudiante a【5】= {
{1001,1},{1002, 1},{1003,2},
{2001,1},{2002,2},
};
//Ordenar(a, 5);
sort_1(a,5,0);
sort_1(a,5,1);
p>for(I = 0; i<5;i++)
printf("Clase:% d\tID:% d\n",a[I].Clase,a[I 】.ID
Sistema); ("pausa");
Devuelve 0;
}