gpt4 book ai didi

c++ - C 中按 "a A b B c C"顺序对字符串数组进行排序

转载 作者:行者123 更新时间:2023-11-30 18:32:13 24 4
gpt4 key购买 nike

这是一个名为 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;
}
}

结构体 customer 看起来像

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个多小时但一无所获:(

最佳答案

通过调用 strcoll,而不是 strcmp,使用排序规则比较字符串。

关于c++ - C 中按 "a A b B c C"顺序对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com