首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按字母顺序对链接列表进行排序

按字母顺序对链接列表进行排序
EN

Stack Overflow用户
提问于 2021-04-07 21:32:06
回答 1查看 44关注 0票数 0

我正在尝试按字母顺序对单个链接列表进行排序,我想我已经掌握了这个概念,但是我得到了一个编译错误,它说:

代码语言:javascript
复制
function.c: error: assignment to expression with array type newNode->text = newNode->next->text;

它还对行node->next->text = temp;说了同样的话,进入链表的每个节点的数据都是从输入中获取的,并且假设在这个场景中有5个节点。我的代码如下:

代码语言:javascript
复制
// the struct used for representing a linked-list node
typedef struct writeText{
    char text[100];
    struct writeText *next;
}write;

void sorting(write ** front, write ** rear) {
    char  *temp;
    write *newNode;
    newNode = *front;
    
    if(newNode) {
        while(newNode && newNode->next) {
            if(strcmp(newNode->text, newNode->next->text) > 0) {
                temp = newNode->text;
                newNode->text = newNode->next->text;
                newNode->next->text = temp;
            }
            newNode= newNode->next;
        }
    }
}

那么我如何按字母顺序对我的链表进行排序呢?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-07 21:58:16

不能按赋值复制数组。对于字符串,请使用strcpystrncpy。对于其他阵列,请使用memcpymemmove

更改:

代码语言:javascript
复制
temp = newNode->text;
newNode->text = newNode->next->text;
newNode->next->text = temp;

代码语言:javascript
复制
strcpy(temp, newNode->next);
strcpy(newNode->text, newNode->next->text);
strcpy(newNode->next->text, temp);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66987179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档