这里是一个sort_list_forward叫小功能排序字符串数组以 “A A B B C C” 用C
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小时却一无所获:(
如果你使用'std :: string'和'std :: sort',这将会容易得多。 –
这是C还是C++?我怀疑它是C. –
根据比较标准,您可以更容易地实现自己的'strcmp'版本。使用标准的'strcmp'作为参考,它是免费的 – SomeWittyUsername