ここに sort_list_forward という小さな関数があります
struct customer * sort_list_forward (struct customer * liste_)
{
struct customer *pointer1, *pointer2;
struct customer tmp;
if (liste_!=NULL)
{
pointer1 = liste_;
while(pointer1 != NULL)
{
pointer2 = pointer1->next;
while(pointer2 != NULL)
{
if (strcmp(pointer1->name,pointer2->name) > 0)
{
strcpy(tmp.name, pointer2->name);
strcpy(pointer2->name, pointer1->name);
strcpy(pointer1->name, tmp.name);
}
pointer2 = pointer2->next;
}
pointer1 = pointer1->next;
}
return liste_;
}
else
{
printf("sortnames: no elements avaiable");
return NULL;
}
}
構造体の顧客は次のようになります
typedef struct customer {
char name[256];
struct customer *next;
struct customer *previous;
};
この関数を使用すると、出力は次のようになります
Ann
Bernd
Hans
barbara
bart
berta
homer
しかし、次のような出力が必要です
Ann
barbara
bart
berta
Bernd
homer
Hans
a A b B c C d D ...
8時間以上検索しましたが、何も見つかりませんでした:(