したがって、構造体の2つの文字列の最初の文字を比較して、一方が他方よりも大きいかどうかを確認する必要がある次の問題があります。これの目的は、構造を順序付けできるようにバブルソート アルゴリズムを実装することです。これまでのところ、私はこの行に来ました:
if(strcmp(j->name,j->proximo->name)>0)
しかし、この行は文字列のすべてのコンテンツを比較します。両方の最初の文字だけが必要です。
完全なコードは次のとおりです
struct s_Especialidade{
int id;
char nome[60];
char descricao[60];
struct s_Especialidade *proximo;
};
void ordenarMedicoN(){
PESPECIALIDADE i = malloc ( sizeof(Especialidade));
PESPECIALIDADE j = malloc ( sizeof(Especialidade));
PESPECIALIDADE t = malloc ( sizeof(Especialidade));
for(i=cabecaEspecialidade; i->proximo != NULL; i=i->proximo) {
for(j=cabecaEspecialidade; j->proximo != NULL; j=j->proximo) {
if(strcmp(j->nome[0],j->proximo->nome[0])>0) {
t = j;
j = j->proximo;
j->proximo = t;
}
}
}
main();
}